내 /etc/sudoers
파일에는 다음 항목이 있습니다.
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
agupta ALL= /sbin/,/usr/sbin/,/bin/,/bin/cat /etc/sudoers
ADMINS ALL= !/usr/bin/su, !SHELLS
alice ALL =(%Children) /sbin/, /usr/sbin/, /bin/
Alice는 어린이 그룹의 회원입니다. 아래에서 Alice의 세부 정보를 확인하세요.
[alice@localhost ~]$ id alice
uid=1005(alice) gid=1004(Children) groups=1004(Children)
이 명령을 실행하려고 하면 /bin/cat /etc/sudoers
다음 오류가 발생합니다.
[alice@localhost ~]$ sudo cat /etc/sudoers
Sorry, user alice is not allowed to execute '/bin/cat /etc/sudoers' as root on localhost.localdomain.
/var/log/secure에서 다음 항목이 채워진 것을 볼 수 있습니다.
Mar 21 06:40:40 localhost sudo: alice : command not allowed ; TTY=pts/0 ; PWD=/home/alice ; USER=root ; COMMAND=/bin/cat /etc/sudoers
이에 대한 제안이 있으십니까?
편집 1
파일에서 시뮬레이션을 제거하여 파일을 수정합니다. 즉,
alice ALL = /sbin/, /usr/sbin/, /bin/
명령을 실행할 수 있습니다 sudo cat /etc/sudoers
. 클로킹을 시도하고 싶지만 내 시스템에서 작동하도록 할 수 없습니다.
편집 2
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
agupta,myself ALL=(wheel) ALL
jane ALL=(%parents) ALL
내가 실행한 명령:-
[jane@localhost ~]$ sudo -u paul cat /etc/sudoers
[sudo] password for jane:
cat: /etc/sudoers: Permission denied
로그인 /etc/log/secure:-
Mar 15 15:26:24 localhost sudo: jane : TTY=pts/2 ; PWD=/home/jane ; USER=paul ; COMMAND=/bin/cat /etc/sudoers
그룹 구성원의 부모:-
[root@localhost ~]# id jane
uid=505(jane) gid=504(parents) groups=504(parents)
[root@localhost ~]# id paul
uid=504(paul) gid=504(parents) groups=504(parents)
나는 아직도 어리석은 실수를 저지르고 있는 걸까?
답변1
sudo의 가장 기능(기본값은 루트임)을 사용하려면 다음과 같이 -u 옵션을 사용해야 합니다.
sudo -u agupta ls ~agupta
또한 agupta가 Children 그룹에 있는 경우 sudo에서 sudo를 실행해야 합니다.
sudo -u agupta sudo cat /etc/sudoers