第一步,安装vsftp
# 1、以管理员(root)身份执行以下命令
yum install vsftpd
# 2、设置开机启动vsftpd ftp服务
chkconfig vsftpd on
# 3、启动vsftpd服务
service vsftpd start
第二步,配置防火墙
# 打开/etc/sysconfig/iptables文件
vi /etc/sysconfig/iptables
#在REJECT行之前添加如下代码
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
#保存和关闭文件,重启防火墙
service iptables restart
第三部,添加FTP用户并设置FTP用户密码
下面是添加ftpuser用户,设置根目录为/home/wwwroot/ftpuser,禁止此用户登录SSH的权限,并限制其访问其它目录。
1、修改/etc/vsftpd/vsftpd.conf,将底下三行
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
改为
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
2、增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。
useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
3、设置用户口令
passwd ftpuser
4、编辑文件chroot_list(内容为ftp用户名,每个用户占一行):
vi /etc/vsftpd/chroot_list
第四步、启用pasv模式
pasv_enable=YES #启用被动模式
pasv_min_port=10000 #被动模式使用端口范围
pasv_max_port=10010 #被动模式使用端口范围
第五步、针对第四步开启防火墙端口,如果没有启用pasv模式就可以不用管
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10000:10010 -j ACCEPT
在以上工序完成后,连接ftp时出现了个错误
500 OOPS: vsftpd: cannot locate user specified in 'ftp_username':ftp
经过网络搜索,得到下面的解决办法
在/etc/vsftpd.conf中添加一行ftp_username=nobody就搞定