나는 아치 리눅스 sudo
(OS와 함께 제공되는 기본 버전)에서 1.8.24를 사용하고 있는데 명령이 작동하는지 나열하기 위해 비밀번호를 묻는 문제가 있습니다. 이것은 내 /etc/sudoers
파일입니다:
Defaults rootpw
Defaults listpw=never
%wheel ALL=(ALL) ALL
%wheel ALL=(ALL) NOPASSWD: /bin/false ""
listpw=never
내 휠 그룹에 대한 문서를 보면 런타임에 비밀번호를 입력하라는 메시지가 표시되지 않으며 sudo -l
어쨌든 비밀번호가 필요하지 않은 경우 기본값은 비밀번호를 허용해야 한다는 의미 라고 믿게 됩니다 /bin/false
.
안타깝게도 실행하면 sudo -l /bin/false
내 비밀번호를 입력하라는 메시지가 표시됩니다. sudo /bin/false
비밀번호는 필요하지 않습니다. sudo
다른 모든 항목에서는 루트 비밀번호를 묻는 메시지가 표시되지만 모든 sudo -l
항목에서는 내 비밀번호를 묻는 메시지가 표시됩니다. 루트로 무언가를 실행하기 위해 이미 루트 비밀번호를 입력한 경우 이는 특히 짜증나는 일입니다. 실행되는 동안 2초 후에도 여전히 비밀번호를 입력해야 하기 때문입니다 sudo -l
. (이것은 실행하기 전에 권한이 있는지 확인하는 스크립트에서 자주 사용하는 패턴으로 , 비밀번호를 묻지 않고 성공했는데도 비밀번호를 묻는 메시지가 sudo
표시됩니다 .)sudo
고쳐 쓰다
을 실행하면 sudo -l
비밀번호를 입력하라는 메시지가 표시되고 sudo는 다음을 인쇄합니다.
Matching Defaults entries for user on machine:
rootpw, listpw=never, timestamp_timeout=60, env_keep+=HOME
User user may run the following commands on machine:
(ALL) ALL
(ALL) NOPASSWD: /bin/false
그리고 sudo 1.8.25로 업그레이드했는데도 여전히 문제가 보여서 기본적으로 포기하고 sudo의 버그라고 결론을 내렸습니다.
답변1
FWIW 1.8.27에서도 이것을 재현할 수 있지만1.8.28에서 수정됨
listpw=never
이 항목을 삭제하면 ALL ALL=(ALL) NOPASSWD: /usr/bin/false
회선에서 수락 규칙이 실행되고 sudo -l
비밀번호를 묻는 메시지가 표시되지 않습니다.