由于各种原因,主要是因为不需要记住密码,我忘记了帐户密码,而我需要执行需要密码的命令,例如sudo
当我很长时间没有使用它时使用。
这通常是因为大多数时候使用 SSH 密钥登录并且需要需要密码的命令,例如更改 shell、运行 sudo 或其他提示输入现有密码的命令。
就安全性而言,能够登录到 shell 意味着用户有权执行该命令。
在这种情况下,我希望命令生成一个新密码并将其输出在屏幕上,使用一些pwgen
类似的实用程序。
由于各种原因,主要是因为不需要记住密码,我忘记了帐户密码,而我需要执行需要密码的命令,例如sudo
当我很长时间没有使用它时使用。
这通常是因为大多数时候使用 SSH 密钥登录并且需要需要密码的命令,例如更改 shell、运行 sudo 或其他提示输入现有密码的命令。
就安全性而言,能够登录到 shell 意味着用户有权执行该命令。
在这种情况下,我希望命令生成一个新密码并将其输出在屏幕上,使用一些pwgen
类似的实用程序。
您可以创建如下程序:
我们称之为
/usr/local/bin/reset-password
(例如)。现在你可以制定一条
sudo
规则:然后用户可以运行
sudo /usr/local/bin/reset-password
,并且他们将被允许更改密码,而无需先输入密码。这应该是安全的,因为
sudo
它本身设置了SUDO_USER
变量,如果你不运行它sudo
,那么你无权更改除你自己的密码之外的任何人。如果用户已经有这样的规则
%wheel ALL=(ALL) ALL
,那么这可能会强制要求输入密码,在这种情况下,可以重写该规则,使其%wheel ALL=(ALL) ALL,!/usr/local/bin/reset-password
不匹配,然后无密码输入就会起作用。您可以轻松地向该脚本添加“密码生成器”组件并将其传递给
passwd
命令。