특정 사용자에게 할당된 유효 권한과 관련된 규칙을 알고 싶습니다. 나는 Ubuntu의 sudoers 매뉴얼 페이지와 여기의 많은 게시물에서 이 단락을 보았습니다.
파일은
sudoers
한 번에 읽혀지므로 여러 항목이 사용자와 일치하면 순차적으로 적용됩니다. 충돌하는 값이 있는 경우 마지막 일치 항목이 사용됩니다(가장 구체적인 일치 항목일 필요는 없음).
하지만 제가 수행한 두 가지 실험(Ubuntu 22.04.1 LTS에서)을 보여드리겠습니다.
test_sudo
사용자 , 그룹을 만들고 두 그룹 모두에 추가했습니다 test1
. 각 실험 전에 가지고 있는 파일은 기본 파일입니다.test2
test_sudo
sudoers
첫 번째 실험:sudoers 파일에 다음 줄을 삽입했습니다.
%test1 ALL=(ALL) NOPASSWD: ALL
%test2 ALL=(ALL) /usr/bin/git
추가한 후에는 sudo
비밀번호를 입력하지 않고도 원하는 모든 명령(포함)을 실행할 수 있습니다 git
.
두 번째 실험:내 파일에 다음 줄을 삽입했습니다 sudoers
.
%test2 ALL=(ALL) NOPASSWD: ALL
%test2 ALL=(ALL) /usr/bin/git
sudo
추가한 후에는 비밀번호 없이 모든 명령을 실행할 수 있습니다 .와는 별개로 git
, 비밀번호가 필요합니다.
이로 인해 사용자의 유효 권한을 미리 결정하는 일련의 논리적 규칙이 무엇인지 묻게 됩니다(유효 권한 계산은 분명히 코드로 수행되므로 반드시 하나가 있어야 합니다).
분명히 앞서 언급한 Ubuntu 문서는 이 메커니즘을 설명하기에 충분하지 않습니다.