두 개의 중복되는 sudo 규칙의 경우 더 제한적인 규칙을 사용해야 합니까?

두 개의 중복되는 sudo 규칙의 경우 더 제한적인 규칙을 사용해야 합니까?

나는 에 속해 있습니다 sudoers.d. 이 사용자는 foobarsudo그룹에 속해 있습니다. 사용자 생성 시 비밀번호가 임의의 값으로 암호화되기 때문에 사용자는 공개키 인증을 foobar통해서만 로그인이 가능할 것으로 예상된다 . 그런 다음 컴퓨터에 액세스한 후 실행하여 비밀번호를 설정 ssh해야 합니다 .sudo passwd foobarssh

# /etc/sudoers.d/sudo-group
%sudo   ALL=(ALL) ALL

# /etc/sudoers.d/change-own-passwd
foobar  ALL = NOPASSWD: /usr/bin/passwd foobar

그러나 사용자에게는 여전히 비밀번호를 묻는 메시지가 표시됩니다.

$ which passwd
/usr/bin/passwd

$ sudo -ll
User foobar may run the following commands on bizbazz:

Sudoers entry:
    RunAsUsers: root
    Options: !authenticate
    Commands:
    /usr/bin/passwd foobar

Sudoers entry:
    RunAsUsers: ALL
    Commands:
    ALL

$ sudo passwd foobar
[sudo] password for foobar: ^C
sudo: a password is required

답변1

SUDOERS 파일 형식

...

여러 항목이 사용자와 일치하면 순차적으로 적용됩니다. 일치하는 항목이 여러 개인 경우 마지막 항목이 사용됩니다(가장 구체적인 항목일 필요는 없음).

~에서man 5 sudoers

따라서 규칙을 적용할 때는 순서가 중요합니다. 이름을 사전식( 000-sudo-group100-change-own-passwd)으로 변경하면 문제가 해결됩니다.

관련 정보