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 終究被一個"臨時權限的帽子"扣住,不能等價于純粹的登入到系統裡。
本文轉自 boy461205160 51CTO部落格,原文連結:http://blog.51cto.com/461205160/1721093