安装步骤
1.通过yum来安装vsftpd
[root@localhost ~]# yum -y install vsftpd
2.设置为开机启动
[root@localhost ~]# chkconfig vsftpd on
3.修改 vim /etc/vsftpd/vsftpd.conf 配置参数 没有的自己添加 注释了的把它开放,让其配置生效:
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES #这行可能需自己写
pam_service_name=vsftpd
userlist_enable=YES
allow_writeable_chroot=YES
listen=YES
4.配置保存后重启vsftpd服务:
[root@localhost ~]# service vsftpd restart
添加用户及额外配置
1.设置vsftp的帐号。
[root@localhost ~]# useradd -d /home/htdocs -s /sbin/nologin 用户名
2.为添加的账号设置密码
[root@localhost ~]# passwd 用户名
根据提示操作,输入密码
5.暂时关闭下防火墙,测试下ftp是否可用:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
示例:
[root@localhost ~]#systemctl stop firewalld.service
[root@localhost ~]#systemctl disable firewalld.service
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service;echo $?
查看已启动的服务列表:systemctl list-unit-files|grep enabled
6.关闭后,在windows下命令框输入 ftp IP地址,出现以下内容基本是成功了。
C:\Users\Administrator>ftp 192.168.2.66
连接到 192.168.2.66。
220 (vsFTPd 3.0.2)
用户(192.168.2.66:(none)): test
331 Please specify the password.
密码:
500 OOPS: chroot
远程主机关闭连接。
7.消除“vsftp登录时提示:“vsftpd 500 OOPS: chroot””
解决方法(一):
/usr/sbin/setsebool -P ftp_home_dir 1
重启服务器
解决方法(二):
[root@localhost ~]# vim /etc/selinux/config
设置SELINUX=disabled
重启服务器
解决方法 (三):
setenforce 0
8.再次测试登录发现“Linux联接vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误”不要急。
vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。 要修复这个错误,
方案一:用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。
方案二:在vsftpd(/etc/vsftpd/vsftpd.conf)的配置文件中增加下列两项中的一项 allow_writeable_chroot=YES
9.最后将每次开机自动启动vsftp服务。