如何在 Linux 上锁定帐户
如何在 Linux 操作系统下锁定账户(用户登录 ID)?如何在基于 Linux 的服务器上禁用用户登录而不禁用账户?
您可以使用 passwd 命令更改用户或组帐户密码。普通用户只能更改自己帐户的密码,超级用户(root)可以更改任何帐户的密码。您可以使用 passwd 命令在 Linux 操作系统上锁定或解锁帐户。
您可以使用 passwd 命令更改用户或组帐户密码。普通用户只能更改自己帐户的密码,超级用户(root)可以更改任何帐户的密码。您可以使用 passwd 命令在 Linux 操作系统上锁定或解锁帐户。
教程详细信息 | |
---|---|
难度等级 | 简单的 |
Root 权限 | 是的 |
要求 | Linux 终端 |
类别 | 用户管理 |
操作系统兼容性 | Alma • Alpine • Amazon Linux • Arch • CentOS • Debian • Fedora • Linux • Mint • openSUSE • Pop!_OS • RHEL • Rocky • Stream • SUSE • Ubuntu • WSL |
预计阅读时间 | 3 分钟 |
任务:Linux锁定帐户
锁定帐户的语法如下。通过在加密字符串前添加前缀,将加密密码转换为无效字符串!。此-l选项仅对 root 用户可用:
# passwd -l {username}
-l 选项通过将密码更改为与任何可能的加密值都不匹配的值来禁用帐户。在此示例中,锁定名为 vivek 的用户帐户。首先,以 root 用户身份登录并输入以下命令:
# passwd -l vivek
或者使用 sudo 命令:
$ sudo passwd -l vivek
示例输出:
Locking password for user vivek. passwd: Success
任务:Linux 解锁帐户
语法如下,该-u选项仅适用于 root 用户:
# passwd -u {username}
该-u选项通过将密码更改回其先前的值(即使用-l选项之前的值)来重新启用帐户。要解锁名为 vivek 的用户帐户。以 root 用户身份登录并输入以下命令:
# passwd -u vivek
示例输出:
Unlocking password for user vivek. passwd: Success
任务:Root 可以访问任何账户
语法是:
$ su - {username}
$ su - vivek
示例会话:禁用用户登录但不禁用帐户
请注意,用户帐户信息存储在/etc/passwd文件中,而加密格式的散列密码存储在/etc/shadow文件中。关于基于 ssh 公钥的身份验证的说明
使用该选项锁定的用户帐户-l仍可以通过其他方法(例如 ssh 公钥认证)登录。使用以下命令进行完全帐户锁定:
# chage -E 0 {username}
## full lockdown for user named vivek ##
# chage -E 0 vivek
如何删除帐户到期日期?
chage 命令的语法如下:
示例输出:
# chage -E -1 vivek
# chage -l vivek
## optional: assign a new password for vivek ##
# passwd vivek
Last password change : Feb 15, 2015 Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7
用户现在可以使用 ssh 公钥或密码登录。尝试以下 ssh 命令:
示例输出:
$ ssh vivek@nas01
$ ssh -Y vivek@nas01
Linux nas01 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u1 x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. No mail. Last login: Sun Feb 15 18:13:45 2015 from 192.168.1.4 vivek@nas01:~$
参见
- 搜索所有没有密码的账户并锁定它们(包括 FreeBSD/Linux/Sun Solaris 的示例脚本)
- 使用 man 命令或 help 命令查看以下手册页。例如:
$ man 'passwd(1)'
$ man 'chage(1)'
$ man 'passwd(5)'