很久以前,我在 Ubuntu 10.0.4 机器上创建了一些用户(同时进行实验)。其中一些用户可以登录系统,而其他用户则被阻止登录。我不记得哪些用户可以登录。我有以下问题:
- 我如何找出哪些用户可以登录该机器?
- 如何禁止现有用户帐户登录?
- 我如何重新启用以前(登录)禁用的用户帐户以便其再次登录?
答案1
怎么样
sudo passwd -aS
man passwd 告诉我们:
-a、--全部
此选项只能与 -S 一起使用,并显示所有用户的状态。
-S,--状态
显示帐户状态信息。状态信息由 7 个字段组成。第一个字段是用户的登录名。第二个字段指示用户帐户是否被锁定 (L)、没有密码 (NP) 或有可用的密码 (P)。第三个字段给出上次更改密码的日期。接下来的四个字段是密码的最小使用期限、最大使用期限、警告期限和不活动期限。这些使用期限以天为单位表示。
然后,为了锁定和解锁帐户,我们发现:
-l,--锁定
锁定指定帐户的密码。此选项通过将密码更改为与任何可能的加密值都不匹配的值来禁用密码(它在密码开头添加“!”)。
请注意,这不会禁用帐户。用户可能仍可以使用其他身份验证令牌(例如 SSH 密钥)登录。要禁用帐户,管理员应使用 usermod --expiredate 1(这会将帐户的到期日期设置为 1970 年 1 月 2 日)。
密码锁定的用户不得更改密码。
-u,--解锁
解锁指定帐户的密码。此选项通过将密码改回其先前的值(通过删除前导的“!”,改回使用 -l 选项之前的值)来重新启用密码。
希望从手册页剪切粘贴的内容可以澄清一些事情。
答案2
如果您使用的是桌面版本,只需单击系统 -> 管理 -> 用户和组。选择一个用户并单击高级设置,然后在高级选项卡上查找“禁用帐户”复选框。
如果没有,您可以手动查找信息 - /etc/shadow 文件的第二个字段(冒号分隔)包含每个用户的哈希密码。如果密码字段以 ! 或 * 开头,则该帐户已被锁定。
您可以使用“passwd -l 用户名”和“passwd -u 用户名”锁定和解锁
答案3
passwd -L 和 passwd -l 可用于锁定和解锁帐户。
请注意,这仅限于登录,如果使用 ssh 密钥文件进行身份验证,则不会阻止用户访问系统。