服务器中useradd -s /sbin/nologin xxx创建用户后客户端发现竟然不能登录,报530错误
检查本地配置没有问题,使用正常用户也可以登录。
因:vsftpd默认会检查用户的shell,如果用户的shell在/etc/shells没有记录,则无法登陆ftp
解决办法:在/etc/shells文件里面添加用户的shell解释器
[root@localhost ftpp]# vim /etc/shells
解释:/etc/shells文件的作用
1.系统某些服务在运行过程中,回去检查用户使用的shells,而这些shell查询就是借助/etc/shells这个文件。
2.修改该文件不会影响用户登陆服务器主机的权限,该文件提供给解释器给系统的某些服务判断一个用户是否是有效用户,例如我创建的ftp用户解释器为/sbin/nologin,我系统的/etc/shells文件里面没有添加/sbin/nologin,所以我创建的ftp用户登陆不了ftp服务,后面将/sbin/nologin添加进/etc/shells文件,则问题解决。