ftp nologin用户

环境为:vsftpd: version 3.0.2

最近需要捣鼓下FTP服务器,发现如果系统用户的登录shell设置为/sbin/nologin,就无法使用FTP服务,报错如下:

ftp.png
ftp.png

原因是,ftp会根据/etc/shells这个文件来判断一个用户是否是有效用户,并阻止那些shell不在/etc/shells里的用户登陆。
所以如果ftp用户的登录shell为/sbin/nologin,则需要添加到/etc/shells文件里面,或者可以通过禁用PAM模块,注释/etc/pam.d/vsftpd文件内的auth required pam_shells.sopam.png

另外,出于安全的考虑,root用户是不能登录ftp的,如果有这个需求的话,可以将/etc/vsftpd/ftpusers文件内的root注释