Sudo
如何在 debian wheezy 上正確配置 sudoers 文件?
我看過很多博文說,做就夠了
aptitude install sudo su root adduser USERNAME sudo
但這只會保護
aptitude
,換句話說:
aptitude install sendmail
將要求輸入密碼,您需要sudo
執行aptitude
apt-get install sendmail
不會要求輸入密碼,不需要sudo
特權- 如果您編輯受保護的文件,例如其中的文件
etc
不會要求輸入密碼,則不需要sudo
特權- 您可以執行和停止服務,例如
apache
,它不會要求輸入密碼,不需要sudo
特權如何解決這個問題?這是我的 sudoers 文件:
This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$ # Host alias specification # User alias specification # Cmnd alias specification
這是的輸出
sudo -l
:Matching Defaults entries for root on this host: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin User root may run the following commands on this host: (ALL : ALL) ALL (ALL : ALL) ALL
您尚未添加任何 sudo 規則,因此您不能將 sudo 用於任何事情。
該命令
adduser USERNAME sudo
將指定使用者添加到名為 的組sudo
中。必須存在具有該名稱的組;addgroup sudo
如果沒有,請創建它。將使用者添加到組後,使用者必須註銷並重新登錄才能使組成員身份生效。
sudo
不是特殊的組名。這是一個約定,允許被呼叫組中的sudo
使用者通過該sudo
實用程序以 root 身份執行命令。這需要文件中的以下行sudoers
:%sudo ALL = (ALL) ALL
執行
visudo
編輯 sudoers 文件,不要直接編輯它。我不知道你為什麼相信“那隻會保護能力”。天賦沒什麼特別的。一旦您授權使用者以 root 身份執行命令,該使用者就可以執行
sudo aptitude …
orsudo apt-get …
或sudo service …
, 或sudoedit
編輯需要 root 權限才能編輯的文件。在 sudoers 文件中不會直接更改使用者的權限,它的作用是允許您以sudo
root 身份執行命令。僅當您通過sudo
. 有些程序可能會自動執行此操作,尤其是 GUI 程序,其中使用者界面在沒有特殊權限的情況下執行,並且只有後端以 root 身份執行,但以 root 身份執行的命令始終由sudo
.