這兩個指令有什麼差別?當想要以另一位使用者的身分執行某些操作時,哪個更好地模擬該使用者?
sudo -H -iu USER command
和
su -l USER -c command
答案1
如果您嘗試以其他使用者身分執行命令,sudo
則會詢問您的密碼,su
也會詢問其他使用者的密碼。
Sudo 旨在讓非特權使用者以不同使用者的身分執行特定命令,因此它有一個設定文件/etc/sudoers
,可讓系統管理員決定哪些使用者可以像其他使用者一樣執行哪些命令。 IE 具有細粒度的權限。這些權限可以被授予,也可以在以後撤銷。
Su 也允許您以其他使用者身分執行命令,但未設計為具有相同的細粒度權限。如果您擁有其他使用者的密碼,您可以以該使用者的身分執行任何操作。撤銷該存取權限的唯一方法是更改其他使用者的密碼。
意見提醒
一般來說,我不會在大多數事情上使用sudo
not 。su
為某人提供一點存取權限更容易,而無需將所有內容的金鑰(您的密碼)交給他們
最終意見
嘗試「模擬」另一個使用者時,效果沒有太大差異。兩者都以該用戶身份運行您的命令。