首頁 > 軟體

Linux命令su、sudo、sudo su、sudo -i使用和區別

2020-06-16 16:27:52

sudo 與 su 兩個命令的最大區別是:

sudo 命令需要輸入當前使用者的密碼,su 命令需要輸入 root 使用者的密碼。另外一個區別是其預設行為。sudo 命令只允許使用提升的許可權執行單個命令,而 su 命令會啟動一個新的 shell,同時允許使用 root 許可權執行盡可能多的命令,直到明確退出登入。

su  用以切換成不同的使用者的身份

預設只是切換身份,並沒有切換環境變數,環境變數依然是普通使用者的。切換使用者身份時,使用者的環境變數也切換成新使用者的環境變數,所以"-"不能省略,不然有些操作無法執行。

su root  輸入root密碼後切換之root使用者但是pwd目錄不變

su - root  輸入root密碼後切換之root使用者但是pwd目錄/root

sudo 一般加的是命令

sudo -i root與sudo - root、sudo -i ,sudo - ,sudo root效果相同    提示輸入密碼時該密碼為當前賬戶的密碼  要求執行該命令的使用者必須在sudoers中才可以  su需要的是切換後賬戶的密 用法為“su 賬戶名稱”

sudo : 暫時切換到超級使用者模式以執行超級使用者許可權,一般指的是root使用者,提示輸入密碼時該密碼為當前使用者的密碼,而不是超級賬戶的密碼。不過有時間限制,Ubuntu預設為一次時長15分鐘。

su : 切換到某某使用者模式,提示輸入密碼時該密碼為切換後賬戶的密碼,用法為“su 賬戶名稱”。如果後面不加賬戶時系統預設為root賬戶,密碼也為超級賬戶的密碼。沒有時間限制。

sudo -i: 為了頻繁的執行某些只有超級使用者才能執行的許可權,而不用每次輸入密碼,可以使用該命令。提示輸入密碼時該密碼為當前賬戶的密碼。沒有時間限制。執行該命令後提示符變為“#”而不是“$”。想退回普通賬戶時可以執行“exit”或“logout” 。 要求執行該命令的使用者必須在sudoers中才可以

sudo -i 直接執行sudo命令加-i引數        要求執行該命令的使用者必須在sudoers中才可以

sudo su 執行sudo命令給su命令提權,執行su命令。 要求執行該命令的使用者必須在sudoers中才可以。


IT145.com E-mail:sddin#qq.com