~/bin$ cat setbrightness
id
echo $1 > /sys/class/backlight/intel_backlight/brightness
~/bin$ whoami
rag
~/bin$ Sudo -l
Matching Defaults entries for rag on this Host:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User rag may run the following commands on this Host:
(root) NOPASSWD: /home/rag/bin/setbrightness
(ALL : ALL) ALL
編集:/ etc/sudoers
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
Cmnd_Alias SETBRIGHTNESS = /home/rag/bin/setbrightness
# User privilege specification
root ALL=(ALL:ALL) ALL
rag ALL=NOPASSWD:SETBRIGHTNESS
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group Sudo to execute any command
%Sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
コマンドを実行
~/bin$ Sudo /home/rag/bin/setbrightness 3000
[Sudo] password for rag:
そのコマンドに対してSudo
を実行するときにパスワードが要求される理由を誰かが指摘できますか?
それは順序です-あなたのsudoersファイルを次のように複製すると:
Cmnd_Alias TESTCOMM = /bin/more
root ALL=(ALL:ALL) ALL
dave ALL=NOPASSWD:TESTCOMM
%admin ALL=(ALL) ALL
%Sudo ALL=(ALL:ALL) ALL
私は同じ動作をします。 Sudoを実行すると、Sudoと同じようにパスワードを要求されます。
しかしながら...
Cmnd_Alias TESTCOMM = /bin/more
root ALL=(ALL:ALL) ALL
%admin ALL=(ALL) ALL
%Sudo ALL=(ALL:ALL) ALL
dave ALL=NOPASSWD:TESTCOMM
パスワードなしで、他の何かを要求するだけで、もっと使いましょう。
これは、Sudoでチェックされる順序(下から上)によるものだと思います。
Sudoersファイルをどのように編集しましたか?有効なsudoersファイルを確認するには、常にvisudo
コマンドを使用し、sudoersファイルを直接編集しないでください。これはそれらのケースの1つに見えます。