給普通用戶賦予sudo權限後報錯,提示/etc/sudoers文件權限拒絕

在Ubuntu 16.04系統裏給普通用戶賦予sudo權限,編輯vi /etc/sudoers 文件內容後發現執行sudo命令報錯。ui

  當我運行命令檢查sudo權限的時候 sudo -i 輸出錯誤提示:spa

>>> /etc/sudoers: syntax error near line 24 <<<
sudo: unable to stat /etc/sudoers.d/README: Permission denied
sudo: parse error in /etc/sudoers near line 24
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin插件

  仔細看這段提示是說運行sudo命令的時候遇到4個錯誤。分別是:it

/etc/sudoers.d/README文件沒有權限io

/etc/sudoers文件內容第24行有語法錯誤plugin

找不到有效的sudoers源權限

沒法初始化策略插件語法

 

  因而,切換到root用戶,執行 vi /etc/sudoers 編輯文件內容,將第24行的錯誤改正(註釋掉)以後保存退出。而後再出來切換到以前的普通用戶執行 sudo -i 輸出錯誤提示只剩下一個:error

sudo: unable to stat /etc/sudoers.d/README: Permission denied註釋

  明白了,是應爲文件權限的問題。切換到root用戶修改用戶和權限就好了:

chown -R root:root /etc/sudoers.d
chmod u=rwx,g=rx,o=rx /etc/sudoers.d/
chmod u=r,g=r,o= /etc/sudoers.d/*

  將sudoers.d文件夾的權限設置成root用戶和root組,root組只有執行的權限,只有root用戶有寫入的權限。

至此,再次切換回普通用戶,執行 sudo -i 命令發現正常。

相關文章
相關標籤/搜索