- 安装vsftpd
yum -y instll vsftpd
- 关闭匿名用户登录
vi /etc/vsftpd/vsftpd.conf
修改项:
anonymous_enable=NO //默认为YES
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES //后2项默认是注销的,不用更改
保存退出后,重启vsftpd服务
service vsftpd restart
- 创建一个系统用户来登陆ftp
useradd – g ftp -s /sbin/nologin test //限定test用户不能登录系统
ls -ld /home/test //test用户的默认目录
drwx——. 2 test ftp 4096 Nov 14 08:33 /home/test
- 创建test用户密码
echo “passwd” | passwd –stdin test //也可以通过passwd test 来修改密码
- 测试
这里我们可以先直接service iptebles stop ,来先测试是否可以通过test 连接vsftpd.
- 开启端口20 21
以上若测试正常,说明vsftpd配置没有问题.考虑服务器安全性,不能因使用vsftpd,而关闭iptables.所以启动iptables(service iptables start).这时我们需要开启对应端口,设置如下:
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m multiport –dport 20,21 -m state –state NEW -j ACCEPT //开启20,21
这里重启iptables,测试连接,发现无法正常连接.因为ftp 分为主动/被动模式,需要开启被动模式端口,设置如下:
vi /etc/vsftpd/vsftpd.conf
在最后加上:
pasv_enable=YES
pasv_min_port=20000 //被动模式最小端口(自己选择,大于1024)
pasv_max_port=20100 //被动模式最大端口
重启vsftpd
然后:
iptables 开启相应端口:
vi /etc/sysconfig/iptable
-A INPUT -p tcp -m state –state NEW -m tcp –dport 21 -j ACCEPT //开启21主动端口
-A INPUT -p tcp –dport 20000:20100 -j ACCEPT //开启被动端口
重启iptables,发现就可以连接了!!