1、查询linux服务器是否已经安装过vsftpd服务;
rpm -qa|grep vsftpd
卸载已经安装服务命令:rpm -e vsftpd
2、未安装,安装vsftpd服务;
执行:yum install vsftpd -y 在线安装vsftpd服务
3、安装成功后,修改配置文件;
使用命令:vim /etc/vsftpd/vsftpd.conf
找到:anonymous_enable参数将值设置为NO【关闭匿名登陆功能】
chroot_list_enable=YES 【限制访问自身目录】
chroot_list_file=/etc/vsftpd/chroot_filelist【编辑chroot_filelist文件,将受限制的用户添加进去,每行一个用户,添加进去的用户为步骤4中添加的用户】
修改完成后启动vsftpd服务:systemctl start vsftpd
4、添加用户
root用户登陆后:
useradd -d /data02/resource firewolf 【增加用户firewolf,并指定test用户的主目录为/data02/resource】
passwd firewolf 【为firewolf用户设置密码】
usermod -s /sbin/nologin firewolf 【限定用户firewolf只能ftp登陆】
5、本机命令行登陆尝试
ftp 192.168.21.165
输入用户名和密码后报错:vsftpd:500 OOPS vsftpd:refusing to run with writable root inside chroot()
这是因为从2.3.5之后,vsftpd增加了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报错。
要修复这个错误,可以用命令chmod a-w /data02/resource去除用户主目录的写权限,或者在vsftpd配置文件中增加一行:
allow_writeable_chroot=YES