Linux sudo 命令詳解
導語
前文說到建立新使用者的必要以及如何建立新使用者。那麼如果不使用 root 賬號,就沒有辦法執行 mkdir
這些命令了嗎?當然不是,我們可以使用 sudo
。
sudo
首先看下這個命令的介紹
sudo命令用來以其他身份來執行命令,預設的身份為root。在/etc/sudoers中設定了可執行sudo指令的使用者。若其未經授權的使用者企圖使用sudo,則會發出警告的郵件給管理員。使用者使用sudo時,必須先輸入密碼,之後有5分鐘的有效期限,超過期限則必須重新輸入密碼。
通過介紹我們能看到,使用這個命令之後,就可以執行 root 許可權的命令,當然可以根據實際的需求進行修改。
修改檔案
配置sudo必須通過編輯/etc/sudoers檔案,而且只有超級使用者才可以修改它,還必須使用visudo編輯。之所以使用visudo有兩個原因,一是它能夠防止兩個使用者同時修改它;二是它也能進行有限的語法檢查。所以,即使只有你一個超級使用者,你也最好用visudo來檢查一下語法。
切換到 root 賬號,輸入命令 visudo
,就會預設使用 vi
開啟 /etc/sudoers
。仿照 root ALL=(ALL) ALL
在下方輸入 [username] ALL=(ALL) ALL
即新增完成。
上圖中輸入的是錯誤的(ALL 大小寫),當我嘗試儲存的時候, visudo
給了提示,如下
輸入 e
後重新編輯,儲存成功。
測試許可權
檔案修改完成,切換到 user 賬號,測試一下是否有許可權
第一次嘗試 rm
的時候沒有成功,然後使用 sudo
,輸入 uesr 賬號的密碼後即成功。
第一次嘗試 mkdir
的時候同樣沒有成功,再次使用 sudo
後,因為是在五分鐘的有限期內,沒有要求輸入密碼,執行成功。
取消密碼
每次都需要輸入密碼的話,有些麻煩,下面修改檔案取消密碼。切換到 root 賬號,輸入 visudo
,如下修改
修改完成後,再切換到 user 賬號進行測試
再次使用 sudo
的時候,沒有提示輸入密碼即執行成功。
關於 sudo
的其他內容,例如許可權限制、切換身份等,請檢視參考連結中內容。