sudo概述
sudo是linux系統管理指令,是允許系統管理員讓普通使用者執行一些或者全部的root命令的一個
工具,如halt,reboot,su等等。這樣不僅減少了root使用者的登陸 和行政時間,同樣也提高了
安全性。Sudo不是對shell的一個代替,它是面向每個命令的。
什麼是sudo?
Sudo是可以讓某個使用者不需要擁有管理員的帳號密碼,可以執行管理員的許可權的。
作為管理員可以指派某些使用者可以執行某些特定命令,類似與suid
sudo特性
Sudo能夠限制使用者只在某台主機上運行某些命令。
Sudo提供了豐富的日誌,詳細地記錄了每個使用者幹了什麼。它能夠將日誌傳到中心主機或者Log Service器。
Sudo使用時間戳檔案來執行類似的“檢票”系統。當使用者調用sudo並且輸入它的密碼時,使用者獲得了一張存活期為5分鐘的票(這個值可以在編譯的時候改變)。
Sudo的設定檔是sudoers檔案,它允許系統管理員集中的系統管理使用者的使用許可權和使用的主機。它所存放的位置預設是在/etc/sudoers,屬性為0440
sudo參數
-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 更改為其他人)執行的指令