1.簡介:linux
sudo是linux系統管理指令,是容許系統管理員讓普通用戶執行一些或者所有的root命令的一個工具,如halt,reboot,su等等。這樣不只減小了root用戶的登陸 和管理時間,一樣也提升了安全性。sudo不是對shell的一個代替,它是面向每一個命令的。shell
2.特性:安全
3.命令原理:服務器
sudo使通常用戶不須要知道超級用戶的密碼便可得到權限。首先超級用戶將普通用戶的名字、能夠執行的特定命令、按照哪一種用戶或用戶組的身份執行等信息,登記在特殊的文件中(一般是/etc/sudoers),即完成對該用戶的受權(此時該用戶稱爲「sudoer」);在通常用戶須要取得特殊權限時,其可在命令前加上「sudo」,此時sudo將會詢問該用戶本身的密碼(以確認終端機前的是該用戶本人),回答後系統即會將該命令的進程以超級用戶的權限運行。以後的一段時間內(默認爲5分鐘,可在/etc/sudoers自定義),使用sudo不須要再次輸入密碼。工具
4.語法:ui
5.參數:spa
-V
|
顯示版本編號
|
-h
|
會顯示版本編號及指令的使用方式說明
|
-l
|
顯示出本身(執行 sudo 的使用者)的權限
|
-v
|
由於 sudo 在第一次執行時或是在 N 分鐘內沒有執行(N 預設爲五)會問密碼,這個參數是從新作一次確認,若是超過 N 分鐘,也會問密碼
|
-k
|
將會強迫使用者在下一次執行 sudo 時問密碼(不論有沒有超過 N 分鐘)
|
-b
|
將要執行的指令放在背景執行
|
-p
|
prompt 能夠更改問密碼的提示語,其中 %u 會代換爲使用者的賬號名稱, %h 會顯示主機名稱
|
-u
|
username/#uid 不加此參數,表明要以 root 的身份執行指令,而加了此參數,能夠以 username 的身份執行指令(#uid 爲該 username 的使用者號碼)
|
-s
|
執行環境變數中的 SHELL 所指定的 shell ,或是 /etc/passwd 裏所指定的 shell
|
-H
|
將環境變數中的 HOME (家目錄)指定爲要變動身份的使用者家目錄(如不加 -u 參數就是系統管理者 root )
|
command
|
要以系統管理者身份(或以 -u 更改成其餘人)執行的指令
|
6. sudo -i 切換用戶身份到root日誌