您好,登錄后才能下訂單哦!
sudo命令允許受信任的用戶作為另一個用戶運行程序,默認情況下是root用戶。如果您在命令行上花費了大量時間,那么sudo將會是您一直使用的命令之一。
通常,要授予sudo訪問權限,請將用戶添加到sudoers文件中定義的sudo組。在Debian,Ubuntu及其衍生產品上,sudo組的成員在基于RedHat的發行版(如CentOS和Fedora)上獲得sudo權限,sudo組的名稱是wheel。
在運行sudo命令之前,系統將提示該組的每個成員輸入密碼。這增加了額外的安全層,是向用戶授予sudo權限的首選方式。
如下圖:
但是,在某些情況下,例如運行自動腳本,您可能需要配置sudoers文件并允許某些用戶運行sudo命令而不要求輸入密碼。
將用戶添加到Sudoers文件
sudoers文件包含確定用戶和組的sudo權限的信息。
您可以通過修改sudoers文件或將配置文件添加到/etc/sudoers.d
目錄來配置用戶sudo訪問權限。此目錄中的所有文件都包含在sudoers文件中。
在進行任何更改之前,最好備份當前文件:
linuxidc@linuxidc:~/www.linuxidc.com$ sudo cp /etc/sudoers{,.backup_$(date +%Y%m%d)}
date命令會將當前日期附加到備份文件名。
使用visudo命令打開/etc/sudoers文件:
sudo visudo
更改sudoers文件時始終使用visudo此命令檢查后編輯,如果存在語法錯誤,則不會保存更改。 如果使用文本編輯器打開文件,語法錯誤將導致丟失sudo訪問權限。
在大多數系統上,visudo命令使用vim文本編輯器打開/etc/sudoers文件。 如果您沒有使用vim的經驗,可以使用其他文本編輯器。 例如,要將編輯器更改為GNU nano,您將運行:
sudo EDITOR=nano visudo
向下滾動到文件的末尾并添加以下行,該行允許用戶“linuxidc”使用sudo運行任何命令而無需開始詢問密碼:
/etc/sudoers
linuxidc ALL=(ALL) NOPASSWD:ALL
如下圖:
不要忘記使用您要授予訪問權限的用戶名更改“linuxidc”。
如果要允許用戶僅運行特定命令而不輸入密碼,請在NOPASSWD關鍵字后指定命令。
例如,要僅允許使用mkdir和mv命令:
在/etc/sudoers文件
linuxidc ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/mv
完成后,保存文件并退出編輯器。
使用/etc/sudoers.d
您可以使用授權規則將新文件添加到/etc/sudoers.d目錄,而不是編輯sudoers文件。 這種方法將使sudo權限的管理更加可維護。
打開文本編輯器并創建文件:
sudo nano /etc/sudoers.d/linuxidc
您可以根據需要命名文件,但通常最好使用用戶名作為文件名。
/etc/sudoers.d/linuxidc
添加與添加到sudoers文件中相同的規則:
linuxidc ALL=(ALL) NOPASSWD:ALL
最后,保存文件并關閉編輯器。
總結
當您擁有非root用戶需要執行管理任務的腳本時,運行不帶密碼的sudo非常有用。
以上所述是小編給大家介紹的Linux 中不輸入密碼運行 sudo 命令的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。