跳转到主要内容

Linux添加FTP用户设置为/bin/false无法登陆

故障描述

[root@Radius ftp]# useradd -d /home/huawei -g ftp -s /bin/false huawei
[root@Radius ftp]#passwd huawei
[root@Radius ftp]# passwd huawei
更改用户 huawei 的密码 。
新的 密码:
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@Radius ftp]# ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (127.0.0.1:root): huawei
331 Please specify the password.
Password:
530 Login incorrect.
ftp>

故障分析

  [root@Radius ftp]# tail /var/log/secure
Sep 11 10:16:39 radius proftpd[11888]: localhost (192.168.1.199[192.168.1.199]) - USER huawei (Login failed): Invalid shell: '/bin/false'
Sep 11 10:16:56 radius proftpd[11889]: localhost (192.168.1.199[192.168.1.199]) - USER huawei (Login failed): Invalid shell: '/bin/false'
Sep 11 10:23:53 radius proftpd[12044]: localhost (192.168.1.199[192.168.1.199]) - USER huawei (Login failed): Invalid shell: '/bin/false'

上述错误日志确定为用户shell为/bin/false后,用户无法登陆FTP,vsftpd默认会检查用户的shell,如果用户的shell在/etc/shells没有记录,则无法登陆ftp

处理过程

 1.在/etc/shells中添加一行"/bin/false";
2.重启vsftpd服务。

[root@Radius opt]# vi /etc/shells

/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/false

 

建议/总结

  无