Linux
以另一個使用者身份執行“su 命令”
我有一個使用者
user1
,它屬於wheel group
並擁有所有root privileges
.
user1
能夠user2
使用以下命令更改密碼(我的理解是這裡passwd
執行為root
):[user1@rhel-85 ~]$ sudo passwd user2
但是,當
user1
嘗試執行passwd
asuser2
時,出現錯誤:[user1@rhel-85 ~]$ su -u user2 passwd Try 'su --help' for more information. [user1@rhel-85 ~]$
su 用於啟動一個 root shell,它允許所有進一步的命令使用 root 訪問。
su
沒有 -u 選項…https://man7.org/linux/man-pages/man1/su.1.html
這就是它說/抱怨的原因;
嘗試“su –help”以獲取更多資訊。
您需要將 user1 添加到輪組,然後正如 Bodo 指出的那樣,執行;
sudo -u user2 passwd
我很清楚 sudo 是您在這裡的預期用途,因為您正在嘗試執行具有臨時權限提升的單個命令。(這就是 sudo 的用途)。
但是,為了完整起見,正如使用者 Bib 指出的那樣,您可以執行;
su - _user_ foo
…這將允許您以 root 身份為另一個使用者執行。
這是
su
(-, -l or --login
) 的“登錄 shell”選項。這對於在使用者沒有sudo
權限(以及管理員也不希望他們擁有權限)的場景中授予 root 權限也很方便。