sudo 與 su 命令的區別:
sudo 命令需要輸入當前用戶的密碼,su 命令需要輸入 root 用戶的密碼。
sudo 命令只允許使用提升的權限運行單個命令,而 su 命令會啓動一個新的 shell,同時允許使用 root 權限運行儘可能多的命令,直到明確退出登錄。
更多可參考:Linux 命令 su 和 sudo 的區別
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 中才可以。