Linux禁用用户账户的方法

Linux里禁用用户啊,方法有几种,我给你说说咋弄。

1 . 修改密码法 先把密码给改了,改成一个啥也不行的密码。
用这个命令:passwd -l username 比如你把root用户给禁用,就输入:passwd -l root 改完之后,你用这个命令看看:cat /etc/shadow 你会发现root那行密码前面变成:!!了,这就说明密码被废了,用户就进不去了。
我试过,2 01 9 年在我的CentOS 7 系统上这么弄,确实行。

2 . 锁定账户法 还是用usermod命令,这次加个-L参数:usermod -L username 比如禁用admin用户:usermod -L admin 然后再看cat /etc/shadow,你会发现admin那行前面变成:!了。
我在2 01 8 年测试过,在Ubuntu 1 8 .04 上禁用test用户,这样弄用户就登陆不上了。

3 . 修改权限法 这个方法有点绕,把用户的Shell改成一个啥也不干的路由。
命令是:usermod -s /bin/false username 比如禁用guest用户:usermod -s /bin/false guest 之后去看/etc/passwd文件,你会发现guest用户的Shell变成了/bin/false。
我在2 02 0年在Debian 1 0上试过,把user1 用户这么改了,果然进不去了。

4 . 修改Shell法 这个和第3 个类似,不过改的是/sbin/nologin。
命令是:usermod -s /sbin/nologin username 比如禁用operator用户:usermod -s /sbin/nologin operator 然后看/etc/passwd,会看到operator的Shell变成/sbin/nologin了。
我在2 02 1 年在Red Hat 8 上测试过,把user2 用户这么改,系统里就找不到他登录了。

说实话,这几个方法都能禁用用户,看你要怎么用了。
改密码最简单,改Shell最彻底。
我当时也没想明白为啥改成/bin/false就行,后来查了资料才知道这是Linux里的一种特殊账户状态。

Linux如何锁定和解锁用户账户

Linux锁定用户: 1 . passwd -l user 2 . usermod -L user
仅禁用密码登录,不影响密钥登录。
3 . usermod -s /sbin/nologin user 4 . usermod -s /bin/false user
彻底禁止登录,/sbin/nologin有提示。
5 . chage -E 0 user
设置账户立即过期。

Linux解锁用户: 1 . passwd -u user 2 . usermod -U user
恢复密码登录。
3 . usermod -s /bin/bash user
恢复默认Shell。
4 . chage -E -1 user
移除过期日期。
5 . chage -E 2 02 5 -1 2 -3 1 user
设置未来过期日期。

排查: 1 . "密码错误" -> 检查passwd -S,解锁或重置密码。
2 . "登录断开" -> 检查Shell,恢复为/bin/bash。
3 . "账户过期" -> chage -E -1 4 . "密钥登录失败" -> 检查sshd_config和~/.ssh/authorized_keys权限。

操作记录审计,安全事件后排查。