注:首先需要先执行“yum install vsftpd -y”进行vsftp安装,如报错,尝试在联外网环境下进行安装
1)添加FTP用户名和密码,此次以"NAStest/ceshinas"为例,添加后FTP根目录默认为"/home/NAStest"
useradd NAStest
passwd NAStest //执行后会两次提示输入密码,输入“ceshinas”即可
2)给FTP根目录添加读写权限,否则登陆FTP时会报错“500 OOPS: cannot change directory”
chmod -R 777 /home/NAStest
3)清空防火墙规则,否则21端口被关,登陆FTP无法建立连接,且无任何来自服务器的提示
iptables -F//此为临时关闭
4)关闭selinux
//打开selinux配置文件,修改SELINUX=disabled,然后执行reboot重启,此为永久关闭
通过sestatus或者getenforce看到运行状态
vim /etc/selinux/config
//临时关闭,重启后复原
setenforce 0
5)关闭NetworkManager服务,否则由于此管理器强行对/etc/reslov.conf文件中DNS信息进行写保护(如nameserver 10.4.210.31 ),人为去掉好不了2分钟,又被强制改回,这个NetworkManager服务由于其强制进行DNS解析,会导致FTP登陆和传输文件时卡顿,慢或连不了//这个在后续发现和使用的FTP客户端有关,用filezilla客户端时有这个问题,而且还有其他一些奇葩问题,而用8uftp客户端时始终很流畅,实际调测时如果用换其他FTP客户端很流畅的话,就无需此步设置
在CentOS/RHEL 6或更早版本上:
NetworkManager
$ sudo chkconfig NetworkManager off //开机检查并关掉
6)修改vsftpd.conf的参数值,这其中chroot的概念网上有较多误传,实际指的改变用户的根目录“/"为FTP根目录的意思
vim /etc/vsftpd/vsftpd.conf
chroot_local_user=yes//本地用户是否可以改变其根目录"/"为当前FTP的根目录,具体结合下面两项使用
chroot_list_enable=yes//是否启用chroot功能的用户名单列表,此项为YES,chroot_list_file才有意义
chroot_list_file=/etc/vsftpd/chroot_list//第一种情况:若“chroot_local_user=yes”,则在chroot_list列表中的用户可以chroot,即可正常登陆FTP,登陆后改变其根目录"/"为当前FTP的根目录,不在列表中的用户不可以chroot,登陆时报错“响应: 500 OOPS: vsftpd: refusing to run with writable root inside chroot() 错误: 严重错误: 无法连接到服务器”;第二种情况:若“chroot_local_user=no”,则在chroot_list中的用户不可以chroot,即不能正常登陆FTP,不在列表中的用户则可以chroot,即可正常登陆FTP,登陆后改变其根目录"/"为当前FTP的根目录
7)设置vsftpd开机自启动
chkconfig vsftpd on
8)开启vsftpd服务
service vsftpd start//启用服务
service vsftpd stop//停止服务
service vsftpd restart//重启服务
service vsftpd status//查看状态