1、禁止用户登录shell
1)、在创建用户时指定/usr/bin/nologin
useradd -s /usr/sbin/nologin -d /home/ftp ftpuser
创建完用户会发现,光设置/usr/bin/nologin,并不能禁止ftpuser登录shell
那是因为登录时要检查该用户的shell设定是否正确,而/usr/bin/nologin不在/etc/shells列表内就会出错,所以禁用无法生效
2)、在/etc/shells里添加/usr/sbin/nologin
添加完之后,用ftp用户登录shell会发现刚登进去就退出了
This account is currently not available.
Connection to * closed.
此时禁止ftp用户登录shell设置成功。
禁止ftp用户登录shell,并不意味着禁止ftp用户登录系统,如果有桌面环境的话,ftp用户还是可以登录进去的,但是打开终端会显示This account is currently not available.
2、隐藏桌面环境登录界面的用户
在/var/lib/AccountsService/users/目录下创建用户名同名文件
以ftp用户ftpuser为例
touch /var/lib/AccountsService/users/ftpuser
sudo vim /var/lib/AccountsService/users/ftpuser
然后在该文件中输入以下内容:
[User]
SystemAccount=true
重启系统后会发现登录界面不再有ftpuser这个用户