在Ubuntu系統中普通用戶均可以通過sudo 命令以super user 身份執行指令,只要輸入該用戶的密碼即可,然而在CentOS中,即管在安裝系統時候創建用戶有Advance的設置項,可以將新創建的用戶加入到群組中,這個時候填寫了sudoer/sudoers均不行,登陸系統后執行sudo 命令還是會提示該用戶不存在與群組sudoers中。遇到這個問題我們就需要將當前的用戶添加到sudoers用戶組中。
一. 修改/etc/sudoers文件的權限
1. 因為/etc/sudoers文件的所有者是root,這個文件當前的權限是
-r--r-----. 1 root root #440
2. 我們要對這個文件進行修改就需要將其權限改成對其他用戶具備寫權限,或者切換到超級用戶模式。
切換用戶: 直接切換至root模式,并直接修改文件
或者
修改權限: 在root身份修改權限后以當前用戶身份訪問。
二. 向sudoers中添加用戶
1. 在sudoers文件中找到
root ALL=(ALL) ALL # 后面換行并將當前用戶添加進去
xxx ALL=(ALL) ALL;
2. 如果不想每次都輸入密碼,可以修改后不需要每次都輸入密碼了。
xxx ALL=(ALL) NOPASSWD: ALL
三. 撤銷對/etc/sudoers文件權限的修改
如果是通過修改文件的權限去添加用戶的,則在添加完后需要還原文件的權限屬性。
四. 注意事項
如果在修改權限時為了圖方便,直接chmod 777 /etc/sudoers 則在添加完用戶后必須還原權限,如果不還原則在執行sudo命令時會出現如下錯誤提示:
sudo:/etc/sudoers is world writable
sudo:no valid sudoers sources found ,quitting
sudo:unable to initialize policy plugin
1
2
3
執行以下命令即可修復這個問題
以root身份運行: chmod 440 /etc/sudoers 即可