1. 锁定密码
要锁定用户帐户,请使用命令 usermod -L 或者 passwd -l 。
这两个命令都在文件 /etc/passwd 的第二个字段中添加了一个感叹号 ("!")。
例如 :
# usermod -L testuser
或者
# passwd -l testuser
2. 使用户帐户过期
在禁用/锁定用户帐户时,命令 passwd -l 和 usermod -L 效率低下。
这些命令不会禁止通过 SSH 公钥(或者可能启用的 pam_unix 以外的其他 PAM 模块)进行身份验证。
此外,将 shell 更改为 /bin/false 或者 /sbin/nologin 对我们来说并不令人满意,因为这只会影响交互式登录。
因此,要完全禁用用户帐户,我们可以使用命令 chage -E0 。
例如 :
# chage -E0 testuser
通过使用 /etc/shadow 中的第 8 个字段(使用“chage -E”)来使帐户过期将阻止所有使用 PAM 对用户进行身份验证的访问方法。
验证帐户是否被锁定或者禁用。
对于上述每种方法,我们可以使用以下方法验证用户帐户是否被锁定/禁用。
- 检查用户帐户是否被锁定。
检查以下命令输出中的标志 LK,这表明帐户已被锁定。
# passwd --status root root *LK* 2017-07-19 0 45 7 -1 (Password set, SHA512 crypt.)
- 检查账户是否有过期日期。
检查密码过期和帐户过期以检查帐户密码是否过期。
# chage -l root Last password change : Jan 19, 2017 Password expires : Sep 02, 2017 Password inactive : never Account expires : Sep 02, 2017 Minimum number of days between password change : 0 Maximum number of days between password change : 45 Number of days of warning before password expires : 7
- 检查非交互式shell
检查用户shell是否已更改为非交互式shell,如 /sbin/nologin 。
# grep ^root /etc/passwd root:x:0:0:root:/root:/sbin/nologin
更多: zhilu jiaocheng
3.更改shell
我们还可以将用户的默认 shell 更改为 /sbin/nologin,以便用户在尝试登录系统时不会获得任何登录 shell。
# usermod -s /sbin/nologin [username]
我们可以检查 /etc/passwd 中的第 7 个和最后一个字段是否将 shell 更改为 /sbin/nologin。
有多种方法可以锁定或者禁用用户帐户。
日期:2020-09-17 00:13:42 来源:oir作者:oir