sudo命令詳解

1.簡介:linux

sudo是linux系統管理指令,是容許系統管理員讓普通用戶執行一些或者所有的root命令的一個工具,如halt,reboot,su等等。這樣不只減小了root用戶的登陸 和管理時間,一樣也提升了安全性。sudo不是對shell的一個代替,它是面向每一個命令的。shell

2.特性:安全

(1) sudo可以限制用戶只在某臺主機上運行某些命令。
(2)sudo提供了豐富的日誌,詳細地記錄了每一個用戶幹了什麼。它可以將日誌傳到中心主機或者日誌服務器。
(3)sudo使用時間戳文件來執行相似的「檢票」系統。當用戶調用sudo而且輸入它的密碼時,用戶得到了一張存活期爲5分鐘的票(這個值能夠在編譯的時候改變)。
(4) sudo的配置文件是sudoers文件,它容許系統管理員集中的管理用戶的使用權限和使用的主機。它所存放的位置默認是在/etc/sudoers,屬性必須爲0440。

3.命令原理:服務器

sudo使通常用戶不須要知道超級用戶的密碼便可得到權限。首先超級用戶將普通用戶的名字、能夠執行的特定命令、按照哪一種用戶或用戶組的身份執行等信息,登記在特殊的文件中(一般是/etc/sudoers),即完成對該用戶的受權(此時該用戶稱爲「sudoer」);在通常用戶須要取得特殊權限時,其可在命令前加上「sudo」,此時sudo將會詢問該用戶本身的密碼(以確認終端機前的是該用戶本人),回答後系統即會將該命令的進程以超級用戶的權限運行。以後的一段時間內(默認爲5分鐘,可在/etc/sudoers自定義),使用sudo不須要再次輸入密碼。工具

4.語法:ui

sudo [ -Vhl LvkKsHPSb ] │ [ -p prompt ] [ -c class│- ] [ -a auth_type ] [-u username│#uid ] command

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日誌

相關文章
相關標籤/搜索