web-dev-qa-db-ja.com

sudo:NOPASSWDが設定されている場合でもパスワードが要求される

~/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を実行するときにパスワードが要求される理由を誰かが指摘できますか?

8
rag

それは順序です-あなたの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でチェックされる順序(下から上)によるものだと思います。

11
Dave C

Sudoersファイルをどのように編集しましたか?有効なsudoersファイルを確認するには、常にvisudoコマンドを使用し、sudoersファイルを直接編集しないでください。これはそれらのケースの1つに見えます。

2
mdpc