第一步,安装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
下面是添加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就搞定