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