问题现象
环境是CentOS,开启了vsftpd服务,使用adduser 和passwd添加并设置了用户名和密码。
如:adduser aaa
passwd bbb
在本地window电脑使用ftp工具或者使用linux环境连接到ftp server提示:550 login incorrect。
查看ftp server的日志,默认是/var/log/xferlog,没有看到报错误信息。
解决方法
1、用户名和密码错误
可以重新设置密码,或者通过su切换账户确认账户和密码是否正确。
2、看看创建的用户有没有主目录
cat /etc/passwd,查看你登陆的账户主目录和登陆shell对应的是什么
内容格式是:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
cat /etc/shells是否有你用户的主目录和登陆shell,没有进行添加,保存,退出。
3、文档权限问题
在排查了各种问题之后,你需要看看你的/etc/vsftpd/ftpusers这个文件的权限是不是644,如果你设置成了777,那么也会报这个错误。
如果确实是这个原因,查看secure日志文件:
tail -f /var/log/secure
这个日志文件里面的安全认证信息, 会出现相关的日志报错信息,可以看到说ftpuser不可以使用,具体内容你可以自己观察。
会出现以下内容:
passwd: pam_unix(passwd:chauthtok): password changed for esoft
Jun 19 00:32:48 ip-72-16-9-18 vsftpd: pam_listfile(vsftpd:auth): Couldn’t open /etc/vsftpd/ftpusers
Jun 19 00:32:48 ip-72-16-9-18 vsftpd: pam_shells(vsftpd:auth): /etc/shells is either world writable or not a normal file