더 광범위한 권한을 가진 그룹의 사용자에게 sudo 권한을 제한합니다.

더 광범위한 권한을 가진 그룹의 사용자에게 sudo 권한을 제한합니다.

간단히 말해서 이 admins그룹은 SSH 인증 및 sudoers 권한 결정에 사용됩니다. 이 그룹의 모든 구성원은 admins무제한 sudo 액세스 권한이 있어야 하지만 그룹의 다른 구성원처럼 인증 jsmith해야 하지만 실행하려면 sudo 액세스 권한만 있어야 합니다 .jsmithadminssystemctl restart smithscoolapp

나는 다음과 같이 sudoer를 편집해 보았습니다.

jsmith ALL=systemctl restart smithscoolapp
admins ALL=(ALL) ALL

그러나 그룹의 특정 구성원에 대해 sudoer 권한을 설정할 수 있습니까? 아니면 해당 사용자를 위해 특별히 "subadmins" 그룹을 만들어야 합니까 jsmith?systemctl restart smithscoolapp

답변1

!ALL사용자를 위해 이를 지정 해야 합니다 .

예를 들어 다음과 같은 구성이 있습니다.

%wheel  ALL=(ALL)       ALL
sweh ALL=(ALL) !ALL,/bin/ls

내 사용자가 이 wheel그룹에 속해 있습니다. 그래서 어떤 명령을 실행할 수 있는지 묻는다면:

$ sudo -l 
User sweh may run the following commands on test1:
    (ALL) ALL
    (ALL) !ALL, /bin/ls

이제 ls명령 만 실행할 수 있지만 cat.

$ sudo ls /root
anaconda-ks.cfg  ks-post.log  original-ks.cfg

$ sudo cat /etc/shadow
Sorry, user sweh is not allowed to execute '/bin/cat /etc/shadow' as root on test1.

답변2

나는 당신이 설명하는 방식으로 권한을 제거할 수 있다고 믿지 않습니다.

ssh대신에 대한 권한을 sudo두 개의 별도 그룹으로 분리해야 합니다. 모든 사용자를 새 ssh그룹에 할당하고 다른 모든 사용자를 그룹에 추가 jsmith합니다 sudo.

UNIX/Linux 시스템에서 그룹은 계층적이거나 상속되지 않습니다. 각 그룹에 선택한 모든 사용자를 포함해야 합니다.

관련 정보