如何启用或禁用用户?

use*_*330 56 users

我正在使用 ubuntu 12.04 桌面。我有 3 个用户:user1(管理员)、user2(标准)和来宾。我想禁用 user1 并启用无需密码自动登录的 user2,但是在我这样做之后,除了访客会话用户之外,我无法登录到 user1 和 user2 帐户。我被剥夺了所有管理权限。我不知道哪些选项可供我使用,以及如何启用 root 或作为管理员的用户?

小智 84

过期账户

让帐户过期以禁止用户从任何来源登录,包括 ssh

# disallow peter from logging in
sudo usermod --expiredate 1 peter
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式重新启用该帐户:

# set expiration date of peter to Never
sudo usermod --expiredate "" peter
Run Code Online (Sandbox Code Playgroud)

锁定密码

要禁用/锁定用户帐户的密码,请使用以下命令。这不会在 Ubuntu 上禁止 ssh 访问。这!会在密码哈希前面加上 a ,这样就不会再有密码匹配它了。

# take away peters password
sudo passwd -l peter
Run Code Online (Sandbox Code Playgroud)

解锁他:

# give peter back his password
sudo passwd -u peter
Run Code Online (Sandbox Code Playgroud)

使密码过期

此命令似乎因平台而异。在 Ubuntu 上,过期密码将命令用户在登录后重新设置密码。这不适合禁用帐户。

# make peter think of a new password on login
sudo passwd -e  YYYY-MM-DD peter
Run Code Online (Sandbox Code Playgroud)


vor*_*ger 25

使用它来锁定帐户:

sudo usermod -L -e 1 [username]
Run Code Online (Sandbox Code Playgroud)

这是解锁一个如此锁定的帐户:

sudo usermod -U -e "" [username]
Run Code Online (Sandbox Code Playgroud)


Hri*_*ish 16

笔记:

(禁用和锁定用户帐户都意味着同一件事。)

要禁用/锁定用户帐户,请使用以下命令:

sudo passwd -l [user_name]

e.g.

sudo passwd -l samual
Run Code Online (Sandbox Code Playgroud)

为用户帐户设置到期日期,以便它自动被禁用/锁定。

sudo passwd -e  YYYY-MM-DD [user_name]

e.g.

sudo passwd -e  2013-05-31 samual
Run Code Online (Sandbox Code Playgroud)

要重新启用已禁用的用户,请发出带有 -u 选项的 passwd 命令。

sudo passwd -u [username]

e.g.

sudo passwd -u training
Run Code Online (Sandbox Code Playgroud)

要启用 root 帐户并更改 root 密码,请使用以下步骤。

1) su -
2) passwd
Run Code Online (Sandbox Code Playgroud)

输入 root 帐户的新密码,然后退出。如果这不能解决问题,请告诉我。

如果您需要任何其他信息或任何进一步的说明,请随时告诉我。

  • 来自手册页: -l 请注意,这不会禁用该帐户。用户可能仍然能够使用另一个身份验证令牌(例如 SSH 密钥)登录。要禁用该帐户,管理员应使用 usermod --expiredate 1(这将帐户的到期日期设置为 1970 年 1 月 2 日)。 (4认同)
  • 我可以确认`passwd -l ...` 不会停止密钥验证。刚刚测试了一下。 (3认同)