您的位置:首页 > 编程语言 > PHP开发

在Ubuntu下使用vsftpd搭建FTP服务器

2015-07-08 21:15 716 查看
vsftpd是Linux系统下非常常用的一款FTP程序。

一、安装、重装、卸载vsftp

全新安装:apt-get install vsftpd

重新安装:apt-get –reinstall install vsftpd

卸载并清除配置文件:apt-get -purge remove vsftpd

安装后vsftp默认会创建一个名为ftp的用户,用户目录在/srv/ftp,好像匿名用户也会使用这个设置。

二、启动、停止vsftp

启动vsftp:

service vsftpd start

或指定路径,下同(注意:/etc/init.d/路径可能不同):

/etc/init.d/vsftpd start

重启

/etc/init.d/vsftpd restart

停止vsftp:

service vsftpd stop

/etc/init.d/vsftpd stop

三、创建ftp用户组和目录

1、创建FTP用户组ftp-users

groupadd ftp-users

2、创建用户组目录ftp-docs

mkdir /home/ftp-docs

注意,这时还未指定跟ftp-users关联。

3、修改权限

chmod 750 /home/ftp-docs

750组只能读不能写,要组能写,请改成770或760。

4、指定文件夹归属用户和用户组

chown root:ftp-users /home/ftp-docs

这时,如果远程用户属于ftp-users组,则会共享该目录。

5、添加FTP用户并未他们设置缺省目录

useradd -g ftp-users -d /home/ftp-docs user1

useradd -g ftp-users -d /home/ftp-docs user2

passwd user1

passwd user2

6、拷贝额外那就到/home/ftp-docs目录

7、修改/home/ftp-docs目录下文件权限,对该组用户只读

chown root:ftp-users /home/ftp-docs/*

chmod 740 /home/ftp-docs/*

到这里,用户就可以通过FTP客户端登入服务器并下载文件了。当然了,深入一点,还有下文的VSFTP配置、通讯端口以及防火墙设置等问题。每个环节都可能造成连接访问问题。

(1)检查sftpd软件是否安装

ubuntu是否安装了vsftpd服务器

rpm - qa|grep vsftp

若没有显示信息,则表明你的电脑没有安装这个服务器,

vsftp的卸载也很简单

使用以下命令

sudo apt-get autoremove vsftp

(2) vsftp软件的使用

启动ftp:service vstfpd start

关闭ftp:service vsftpd stop

重启ftp: service vsftp restart

要在Ubuntu下安装vsftpd很简单,首先输入下面的命令进行安装:

安装

$sudo apt-get install vsftpd

启动

$sudo /etc/init.d/vsftpd start

关闭

$sudo /etc/init.d/vsfptd stop

重启

$sudo /etc/init.d/vsftpd restart

配置

配置文件在/etc/vsftpd.conf 。关于配置解释转载自文章:用vsftp建立个ftp站点。

接下来需要进行简单的配置,我们先编辑它的配置文件/etc/vsftpd.conf:

#vim /etc/vsftpd.conf


这个配置文件里面很多内容都可以保持默认,不过为了进一步加深理解,我们还是来了解一下常用的选项吧!

listen=YES:这个表示是否监听端口,我们就是要架设FTP服务器,当然YES啦!

anonymous_enable=NO:这个标识是否启用匿名用户,一般我们自己的服务器肯定都是不允许匿名登录的,那样多危险啊!所以这里保持NO。当然如果您需要启动匿名用户,别忘记这里改为YES。

local_enable=YES:这个表示是否允许本地用户登录。我们当然需要让本地用户登录啦,因为他们都是有用户名和密码的。这样就不用去额外添加FTP账号了,直接创建Linux用户即可。

write_enable=YES:是否允许写入数据。这个如果为YES,那么用户就可以进行上传文件、修改文件、删除文件等操作;否则就全部只能看到文件、下载文件,但是不允许执行修改、删除、上传的操作。

local_umask=077:这是将文件上传之后,文件的权限,默认为077。除非有特殊需要,建议保持不变。

anon_upload_enable=YES:这是是否启用匿名用户的上传权限。如果您希望匿名用户也能上传文件的话,启用这项即可。

anon_mkdir_write_enable=YES:同样是给匿名用户的权限,是可以创建目录,写入、修改、删除文件的总开关。一般情况下匿名用户不能使用这样的权限,会带来潜在的风险。

dirmessage_enable=YES:用户进入一个目录后,是否给出信息提示。默认YES,默认即可。

use_localtime=YES:是否使用服务器本地的时间,保持默认YES即可。

xferlog_enable=YES:是否记录FTP用户的操作记录,为了方便追溯和安全起见,建议YES。

connect_from_port_20=YES:是否允许从20端口连接,保持YES即可,除非你确定不用这个20端口。

chown_uploads=YES:是否改变上传文件的归属,默认是注释掉不生效的,如果你需要将上传的文件权限更改为某个账户,可以选择YES启用它。

chown_username=whoever:这项是承接上一个选项的,是改变为哪个用户的权限。注意:改变为root用户权限是不推荐的!

xferlog_file=/var/log/vsftpd.log:日志记录的文件名,保持默认即可。

idle_session_timeout=600:空闲多少时间自动断开FTP连接,单位是秒。默认值是600秒也就是10分钟。

data_connection_timeout=120:数据传输超时的时间,单位也是秒。是指数据传输过程中,多长时间内接收不到数据,就认为超时,然后断开连接。

ftpd_banner=Welcome to blah FTP service.这个是连接FTP的时候,服务器给出的欢迎信息。

chroot_local_user=YES:这个选项很重要,他决定了登录的FTP用户是否可以“漫游”到自己目录以外的目录,除非特别需要,否则强烈推荐设置为YES,将用户锁定在他们自己的目录内,避免他们看到或者修改系统文件。

基本上上面这些配置完后,vsftpd就算可以正常运作了。这个时候输入下面的命令让设置生效:

#/etc/init.d/vsftpd restart


然后如果要创建新的FTP用户,只需要使用Linux本身的adduser即可。

第四步:重启ftp服务器,在命令行输入:/etc/init.d/vsftpd restart

第五步:测试ftp服务,测试方法如下:

1、 通过IE浏览器,输入如下网址:ftp://192.168.1.19(此IP为服务器 IP)。

2、 在命令行输入:ftp localhost(前提是支持本地访问),或者ftp 192.168.1.19 3、 在windows下使用,ftp客户端程序来访问ftp服务器。如LeapFTP来访 问。 注意:在进行访问服务器时,一定要把防火墙关掉。Ubuntu通过命令:iptables -F来 关防火墙。Windows下通过网上邻居来关。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: