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下通过网上邻居来关。