如何完全禁用帐户?

如何完全禁用帐户?

如何完全禁用帐户?passwd -l不会允许任何人使用密码登录帐户,但您仍然可以通过私钥/公钥登录。如何完全禁用该帐户?作为快速修复,我将文件重命名为authorized_keys_lockme.还有别的办法吗?

答案1

根据正确的做法usermod(8)是:

usermod --lock --expiredate 1970-01-02 <username>

(实际上,参数--expiredate可以是当前日期之前的任何日期,格式为YYYY-MM-DD。)


解释:

  • --lock锁定用户的密码。但是,仍然可以通过其他方法(例如公钥)登录。

  • --expiredate YYYY-MM-DD在指定日期禁用该帐户。根据man shadow 51970-01-01,这是一个不明确的值,不得使用。

我已经在我的机器上测试过了。执行此命令后,无论是使用密码还是公钥登录都无法进行。


要在以后重新启用该帐户,您可以运行:

usermod --unlock --expiredate '' <username>

答案2

锁定密码并将shell更改为/bin/nologin.

sudo usermod --lock --shell /bin/nologin username

(或者更简洁地说,sudo usermod -L -s /bin/nologin username。)

答案3

这是另一种简单的方法。您可以设置用户帐户过期。这将阻止该帐户基于密码和基于 ssh 密钥的登录,但不会不是触摸密码。

锁定帐户:

# chage -E 0 username

用户帐户“用户名”将在系统上被锁定。要重新启用用户帐户,请执行以下操作。

解锁帐户:

# chage -E -1 username

用户帐户“用户名”将在您的系统上重新启用使用相同的密码像之前一样。 “chage”二进制文件是影子工具Red Hat Linux 上的软件包,或者密码Debian Linux 上的软件包。

答案4

要完全删除它,请使用userdel.

请注意,如果您删除帐户,则存在其用户 ID 仍将在文件系统中某处使用的风险,并且新用户如果在同一用户 ID 下进入,则将继承这些文件的所有权。

您可能想要更改已删除用户所拥有的任何文件的所有者。

如果您想稍后重新添加用户,请将其行/etc/passwd(在 Solaris 上/etc/shadow)保存到临时文件,例如/etc/passwd_deleted.

这样,当您将其添加回来时,您可以使用相同的用户 ID 和相同的密码(在上述文件之一中加密)

免责声明:我自学了 UNIX,因此如果有更好的方法来暂时禁用用户,我不会感到惊讶。事实上,我什至不知道你在谈论什么私钥/公钥。另外我确信有一个find命令可用于查找具有该所有者用户 ID 的文件

相关内容