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 对用户进行身份验证的访问方法。

验证帐户是否被锁定或者禁用。

对于上述每种方法,我们可以使用以下方法验证用户帐户是否被锁定/禁用。

  1. 检查用户帐户是否被锁定。

检查以下命令输出中的标志 LK,这表明帐户已被锁定。

# passwd --status root
root *LK* 2017-07-19 0 45 7 -1 (Password set, SHA512 crypt.)
  1. 检查账户是否有过期日期。

检查密码过期和帐户过期以检查帐户密码是否过期。

# 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
  1. 检查非交互式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。

UNIX/Linux 如何锁定或者禁用用户帐户

有多种方法可以锁定或者禁用用户帐户。

日期:2020-09-17 00:13:42 来源:oir作者:oir