作为 Linux 系统管理员,很多时候需要管理用户。可以通过添加或删除用户登录名来完成,或者只是通过暂时或永久禁用整个用户,同时保持用户的个人资料和文件不变来完成。Linux系统允许对特定用户用户的访问进行锁定或禁用,而无需更改该用户的任何内容。如果不想永久删除用户用户,只想禁用它并且不再能够使用系统,则需要关闭用户登录。
1,通过nologin命令
使用 nologin 命令来阻止用户登录。登录的时候它将打印一条消息,并以非零状态代码退出以指示失败。通过使用usermod命令的-s选项来更改用户的登录shell。把用户的shell改为nologin即可。下面禁止一个名为sharplee的用户登录。
[root@sharplee ~]# sudo usermod sharplee -s /sbin/nologin

上面可以看出用户不能登录了,但是错误消息看着不是很直观。下面来修改一下用户禁止登录提示。
[root@sharplee ~]# echo “系统正在维护中,请联系管理员” | sudo tee /etc/nologin.txt

下面接着把shell切换回来,看一下是否能够登录。
[root@sharplee ~]# sudo usermod sharplee -s /bin/bash

2,通过false命令
false命令是用来返回指示失败的非零状态代码的简单命令。下面来运行它并检查其状态代码。
[root@sharplee ~]# false

false与true命令相反,后者始终返回零状态代码,表示成功。
[root@sharplee ~]# true

可以使用false来阻止用户登录,就像nologin命令所做的那样。但是,false 不会打印错误消息并立即退出 shell,这可能会导致混淆,给用户不好的体验,以为是不是系统坏了。执行完恢复登录,执行sudo usermod sharplee -s /bin/bash。
[root@sharplee ~]# sudo usermod sharplee -s /bin/false

3,通过passwd命令
通过passwd -l命令锁定用户,让用户不能够进行登录。
[root@sharplee ~]# sudo passwd -l sharplee

通过passwd -u来解锁用户,看用户是否能够正常登录。
[root@sharplee ~]# sudo passwd -u sharplee

4,通过usermod 命令
与passwd 命令类似,可以将usermod命令与-L或-U标志一起使用来锁定/解锁用户。通过usermod -L命令锁定用户,让用户不能够进行登录。
[root@sharplee ~]#sudo usermod -L sharplee

接下来对用户进行解锁,看用户是否能够正常登录。

总结:通过上面几种方式都可以让Linux禁止用户登录,一般禁止用户登录可以使用改变shell为nologin的方式,从而能够自定义禁止登录提示,或者通过usermod来锁定用户。
转载请注明:XAMPP中文组官网 » Linux如何关闭用户登录