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]

參見

參考

外部連結