Linux sudo 命令詳解

2021-09-12 18:16:26 字數 1333 閱讀 7131

前文說到建立新使用者的必要以及如何建立新使用者。那麼如果不使用 root 賬號,在所有者為 root 的目錄下,就沒有辦法執行mkdir等命令了嗎?當然不是,我們可以使用sudo

首先看下這個命令的介紹

sudo命令用來以其他身份來執行命令,預設的身份為root。在/etc/sudoers中設定了可執行sudo指令的使用者。若其未經授權的使用者企圖使用sudo,則會發出警告的郵件給管理員。使用者使用sudo時,必須先輸入密碼,之後有5分鐘的有效期限,超過期限則必須重新輸入密碼。
通過介紹我們能看到,使用這個命令之後,就可以執行 root 許可權的命令,當然可以根據實際的需求進行修改。

切換到 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的其他內容,例如許可權限制、切換身份等,請檢視參考鏈結中內容。

Linux sudo命令詳解

sudo 語法 who which host whom command 誰能以誰的身份,在那些主機上執行那些命令 visudo hadoop all root usr sbin useradd 1 別名 alias 都以大寫字母定義 host alias 定義主機別名,使用,分隔 user alia...

linux sudo命令詳解

首先檢查 var db sudo下是否有時間戳檔案,並檢查是否已經超過五分鐘?如果未超過五分鐘 超過五分鐘,使用者需要輸入口令 檢查 etc sudoers配置檔案是否有執行sudo和執行相應命令的許可權 如果有許可權則執行命令。visudo 可以檢查語法 vim etc sudoers 不會檢查語...

linux sudo許可權分配

背景 linux的安全很大程度上依賴於許可權的分配,而目前線上機器sudo許可權的分配統一以all的形式分配,很容易因為誤操作而造成一些不可恢復的錯誤,因此現在需要重新細化sudo許可權,以保障linux環境的安全。原理 linux etc sudoers中已為我們提供了許可權細化的example,...