~/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
이 명령을 실행할 때 암호를 묻는 메시지가 나타나는 이유를 지적할 수 있는 사람이 있습니까 ?
답변1
순서는 다음과 같습니다. 다음을 사용하여 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의 수표 순서(아래에서 위로) 때문이라고 생각합니다.
답변2
sudoers 파일을 어떻게 편집하셨나요? sudoers 파일이 유효한지 확인하려면 항상 이 visudo
명령을 사용하고 sudoers 파일을 직접 편집하지 마십시오. 이런 상황 중 하나인 것 같습니다.