'listpw' 기본 옵션이 sudo 1.8.24에서 작동하지 않습니다.

'listpw' 기본 옵션이 sudo 1.8.24에서 작동하지 않습니다.

나는 아치 리눅스 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비밀번호를 묻는 메시지가 표시되지 않습니다.

관련 정보