前文說到建立新用戶的必要以及如何建立新用戶。那麼若是不使用 root 帳號,在全部者爲 root 的目錄下,就沒有辦法執行 mkdir
等命令了嗎?固然不是,咱們可使用 sudo
。linux
首先看下這個命令的介紹segmentfault
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
即添加完成。spa
上圖中輸入的是錯誤的(ALL 大小寫),當我嘗試保存的時候,visudo
給了提示,以下
輸入 e
後從新編輯,保存成功。.net
文件修改完成,切換到 user 帳號,測試一下是否有權限
第一次嘗試 rm
的時候沒有成功,而後使用 sudo
,輸入 uesr 帳號的密碼後即成功。
第一次嘗試 mkdir
的時候一樣沒有成功,再次使用 sudo
後,由於是在五分鐘的有限期內,沒有要求輸入密碼,執行成功。code
每次都須要輸入密碼的話,有些麻煩,下面修改文件取消密碼。切換到 root 帳號,輸入 visudo
,以下修改rem
修改完成後,再切換到 user 帳號進行測試get
再次使用 sudo
的時候,沒有提示輸入密碼即執行成功。
關於 sudo
的其餘內容,例如權限限制、切換身份等,請查看參考連接中內容。it