su命令,也被稱為「替代用戶」、「超級用戶」或「切換用戶」,是可以讓計算機操作者在虛擬控制台切換當前用戶帳戶的命令。

沒有其他命令行參數時,默認將會將當前用戶提權至本地超級用戶

用法

在命令行中運行時,su會要求目標用戶的密碼。如果驗證通過,操作者將會授予該帳戶的權限,並且允許訪問該帳戶可以訪問的文件和目錄。

john@localhost:~$ su
密码: 
root@localhost:/home/john# exit
登出
john@localhost:~$

此外,還可以切換到另一個不是超級用戶的帳戶,例如su jane

john@localhost:~$ su jane
密码:
jane@localhost:/home/john$ exit
登出
john@localhost:~$

一般來說,管理員應該使用一個連字號su -,等同於su - root),來啟動登錄shell。這樣,用戶可以獲得目標用戶的用戶環境

john@localhost:~$ su - jane
密码:
jane@localhost:~$

相關的命令sudo也可以允許以另一個用戶的身份執行命令,但遵守一組的限制,以決定哪些用戶可以以什麼用戶身份執行什麼命令(通常是在配置文件/etc/sudoers中,最好使用visudo編輯)。與su不同的是,sudo驗證的是用戶自己的密碼,而不是目標用戶的(允許特定主機上的特定用戶執行特定命令,而不用共享密碼,同時減輕無人值守終端的風險)。

一些類Unix系統wheel組,且只允許組內用戶su到root。[1]很難說這是否會降低安全風險,因為入侵者可能會輕易入侵其中一個帳戶。然而,由於理念不同,GNU su不支持wheel組。理查德·斯托曼認為,由於wheel組會阻止用戶使用泄露給他們root密碼,現有的管理員就可以欺壓普通用戶。[2]

參見

參考

外部連結