我希望我的一些用户能够使用 sudo 命令更改密码,因为在他们登录时,他们是无密码的(ssh 密钥连接)。我的用户没有密码(这是想要的),他们sudo
什么也不能做。尽管如此,我希望他们只能执行一个 sudo 命令:sudo passwd $USER
,这样他们就可以选择密码。
这是我的 sudoers 文件中有趣的部分:
Defaults!/usr/bin/passwd env_keep=SUDO_USER
%restrictedgroup ALL = NOPASSWD: /usr/bin/passwd $SUDO_USER
这不起作用。如何访问 sudoers 文件中当前的 SUDO_USER 环境变量?
编辑:我在我的上下文中还有另一个重要的限制:我无法为每个用户设置虚拟密码。这意味着他们确实无法在没有sudo
.
答案1
你可以写一个脚本(比如/usr/local/bin/change-my-pass.sh
):
#! /bin/sh
passwd $SUDO_USER
并将其添加到sudoers
,然后告诉您的用户(或给他们一条欢迎消息指示他们)使用该脚本。