在學習Linux用戶管理時,咱們不得不須要了解一個命令,那就是sudo。sudo的做用是切換身份,以其餘身份來執行命令。apache
那麼爲何在Linux系統中咱們須要來切換身份呢?緣由有如下幾個方面安全
一、養成一個對系統操做的好習慣。不論是在一些博文仍是書籍中,做者常常會建議Linux使用者儘可能用通常身份來操做Linux的平常做業。學習
等須要設定系統環境時,再切換成root身份進行系統管理,這樣對系統是相對安全的,避免由於一些錯誤的指令而形成嚴重的事故3d
二、用較低的權限來啓動系統服務。好比,系統上安裝了apache服務,咱們能夠創建一個apache用戶,專門用作對apache服務的操做。這樣blog
即便apache出了什麼問題,也不會影響到系統其餘方面登錄
鑑於以上,咱們都被建議過使用普通帳號登陸系統,當系統須要維護或者軟件更新時,再切換成root身份來操做。那麼,如何來切換呢?後臺
"su"命令能夠用來切換成root身份,可是須要輸入root密碼。對與普通用戶來講,是不該該被告知root密碼的。變量
"sudo"命令也能夠切換到root,但不須要root的密碼,只須要本身的密碼,這樣root的密碼就不會流傳出去。軟件
在/etc/sudoers裏設置了可執行sudo指令的用戶,若沒有通過受權的用戶使用sudo,則系統會向root發送警告郵件。用戶在使用sudo時,必須先要輸入密碼,密碼輸入成功後有5分鐘的有效期,過了期限,則須要再次輸入密碼書籍
新建一個用戶sudoer,在使用sudo命令時系統會給出提示,用戶soduer不能在本機運行sudo命令
那麼如何才能讓sudoer可使用sudo命令呢?咱們須要管理員在/etc/sudoers文件中給予權限
找到/etc/sudoers中"root ALL=(ALL) ALL"行,添加一行"sudoer ALL=(ALL) ALL",這樣sudoer便具備了使用sudo的權限
如今,咱們再用sudoer身份來使用sudo的相關命令來驗證是否具備權限
此時,用戶sudoer能夠執行全部的命令
sudo的使用方法就是 sudo [選項] [參數],咱們先用man sudo來了解sudo的一些選項及用法
咱們來了解一下其中的一些選項
-b : 在後臺運行指令
- h : 顯示幫助信息
- H : 將HOME環境變量設置爲切換後的新用戶的HOME路徑
- k : 使時間戳失效,結束密碼的有效期,再次使用sudo時需從新輸入密碼
- l : 列出目前用戶可執行和不可執行的命令
- v : 延長密碼有效期5分鐘