我有一个用户user1
,它是 的一部分wheel group
并拥有root privileges
.
user1
可以user2
使用以下命令更改密码(我的理解是这里passwd
运行为root
):
[user1@rhel-85 ~]$ sudo passwd user2
但是,当user1
尝试运行passwd
时user2
,我收到错误:
[user1@rhel-85 ~]$ su -u user2 passwd
Try 'su --help' for more information.
[user1@rhel-85 ~]$
答案1
su 用于启动 root shell,允许所有其他命令使用 root 访问权限。su
没有 -u 选项...
https://man7.org/linux/man-pages/man1/su.1.html
这就是它说/抱怨的原因;
尝试“su --help”以获取更多信息。
您需要将 user1 添加到wheel组,然后正如Bodo指出的那样,执行;
sudo -u user2 passwd
我很清楚 sudo 是您在这里的预期用途,因为您正在尝试通过临时权限提升来执行单个命令。 (这就是 sudo 的用途)。
但是,为了完整起见,正如用户 Bib 指出的那样,您可以执行;
su - _user_ foo
...这将允许您以 root 身份为另一个用户运行。
su
这是( )的“登录 shell”选项-, -l or --login
。这对于在用户没有sudo
权限(并且管理员也不希望他们拥有权限)的情况下授予 root 权限也很方便。