(1)先创建了一个不允许登录系统但可以登录FTP服务器的用户:sudo useradd -d /var/www -s /sbin/nologin ftp1
(2)配置vsftpd服务器:sudo vi /etc/vsftpd.conf
可增加如下选项:userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd_userlist //允许登录服务器的账号列表文件
allow_writeable_chroot=YES //解决500 OOPS: vsftpd: refusing to run with writable root inside chroot() 错误
(3)创建vsftpd_userlist文件,并在里面加上ftp1
但在客户端登录vsftpd时报530 login incorret 错误,后上网搜索相关资料发现是PAM鉴权造成的,解决方法如下:
方法(1):注释掉/etc/pam.d/vsftpd文件里这后一行:
auth required pam_shells.so,这样不去鉴权
方法(2):在/etc/shells文件里面增加一行:
/sbin/nologin,这样允许不能登录系统的用户通过鉴权