vsftpd(Very Secure FTPd Daemon)是LINUX下一款常用的FTP服务端软件。下面我简单的介绍一下安装和配置过程。
首先检查是否已经安装了vsftpd
# rpm -qa | grep vsftpd
如果已经安装,则会显示它的版本号,如果执行命令后无任何显示说明系统没有安装。
安装
用YUM在线安装的方法是最简单的:
# yum install vsftpd -y
执行命令后,开始自动下载安装,最后显示complete就说明安装OK了。
在LINUX中开启21端口(这是一般FTP默认使用的端口,你也可以用自己的端口号,当然如果这样vsftpd的配置文件也需要相应的修改,在此我只介绍默认的21端口)
# vi /etc/sysconfig/iptables
打开系统的配置文件,在其中添加一句配置代码以打开21端口:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 - j ACCEPT
然后保存修改。重启防火墙使配置生效。
# service iptables restart
启动vsftpd服务
# service vsftpd start
成功的话就会显示
Starting vsftpd for vsftpd: [OK]
# chkconfig vsftpd on
# netstate -tunlp | grep vsftpd
输出 tcp 0 0 0.0.0.0:21 就说明服务运行正常了
关闭匿名登录
现在你直接打开浏览器,输入fpt://你的服务器IP,就可以打开默认的FTP目录了。
vsftpd的默认FTP目录路径为 /var/ftp/pub
当然,一般时候我们都是不希望直接这样让FTP可以匿名登录的,下面修改一下vsftpd的配置文件把匿名登录关闭。
打开vsftp的配置文件
# vi /etc/vsftpd/vsftpd.conf
将其中的:anonymous_enable设置为NO,注意如果句子开始有#注释符号的话,需要删除。
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
#anonymous_enable=YES
anonymous_enable=NO
修改并保存配置文件后,重启一下vsftpd服务
# service vsftpd restart
添加FTP用户
OK,既然关闭了匿名服务,那么用哪个用户来登录呢?这时需要为vsftpd新建一个用户,也就是你登录FTP时候使用的用户。
# useradd -d /var/ftp/pub -s/sbin/nologin FTPuserName
为这个用户设置登录密码:
# passwd FTPuserName
现在就可以使用这个叫做FTPuserName的用户来登录FTP了。
修改FTP文件夹的读写权限
接着你可能还会发现,为什么不能新建、删除文件夹\文件,因为/var/ftp/pub目录没有操作权限,给这个目录设置上可删写的权限即可。
# chmod 777 /var/ftp/pub
ftp默认我们使用系统用户, 现在我们来添加用户ftptest, 指向目录/home/ftptest , 权限是nologin, 就是没给shell权限, 不影响ftp的
# useradd ftptest -d /home/ftptest -s /sbogin
如果显示:in/nol
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
不用理会, 只是告诉你, 你指向的目录已经存在了, 这不影响
设置目录及其文件的属组, 你也可以使用别的分组方式
# chown -R ftptest . ftptest /home/ftptest
设置一下用户hao32的密码, 自定义啦
# passwd ftptest
把用户 ftptest 加到/etc/vsftpd/vsftpd.chroot_list里, 这样用户就可以正常登陆并且不能跳出自己的目录
# echo ‘ ftptest ′ >> /etc/vsftpd/vsftpd.chroot_list
# service vsftpd restart