Linux 中 sudo、su命令


sudo : 暫時切換到超級用戶模式以執行超級用戶權限,提示輸入密碼時該密碼為當前用戶的密碼,而不是超級賬戶的密碼。不過有時間限制,Ubuntu默認為一次時長15分鍾。

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

sudo -i: 為了頻繁的執行某些只有超級用戶才能執行的權限,而不用每次輸入密碼,可以使用該命令。提示輸入密碼時該密碼為當前賬戶的密碼。沒有時間限制。執行該命令后提示符變為“#”而不是“$”。想退回普通賬戶時可以執行“exit”或“logout” 。
其實,還有幾個類似的用法:
sudo /bin/bash   : 這個命令也會切換到root的bash下,但不能完全擁有root的所有環境變量,比如PATH,可以擁有root用戶的權限。這個命令和 sudo -s 是等同的。
sudo -s : 如上
sudo su  : 這個命令,也是登錄到了root,但是並沒有切換root的環境變量,比如PATH。
sudo su - :  這個命令,純粹的切換到root環境下,可以這樣理解,先是切換到了root身份,然后又以root身份執行了 su - ,這個時候跟使用root登錄沒有什么區別。這個結果貌似跟sudo -i 的效果是一樣的,但是也有不同,sudo 只是臨時擁有了root的權限,而su則是使用root賬號登錄了linux系統。

所以,我們再來總結一下:
sudo su -  約等於  sudo -i 
sudo -s  完全等於  sudo  /bin/bash  約等於 sudo su 
sudo 終究被一個"臨時權限的帽子"扣住,不能等價於純粹的登錄到系統里。

sudo su - 和 su - xxx 切換時也會切換所有環境變量

sudo su 和  su xxx 切換時不會切換環境變量

 

參考地址 http://ask.apelearn.com/question/6899

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM