"루트 액세스 권한 얻기"와 "모든 명령 실행" 사이에 차이점이 있습니까?

"루트 액세스 권한 얻기"와 "모든 명령 실행" 사이에 차이점이 있습니까?

최근에 sudoers 파일을 열고 다음 사항을 확인했습니다.

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

admin실제로 그룹의 권한 과 그룹의 sudo권한 간에 유효한 구분이 있습니까 ? 그렇다면 무엇입니까?

답변1

이 섹션은 Sudo의 Runas_Spec 섹션을 참조합니다. 자세한 내용은 다음에서 확인할 수 있습니다.매뉴얼 페이지.

귀하의 예에서 관리 그룹의 모든 구성원은 모든 사용자에 대해 sudo 권한을 갖도록 승격될 수 있으며 sudo 그룹의 구성원은 모든 사용자에 대해 sudo 권한을 갖도록 승격될 수 있습니다.그리고그룹.

아래 예에서는 2명의 사용자를 생성하고 귀하의 질문과 같이 서로 다른 권한을 부여했습니다.

cat /etc/sudoers | grep ^test
test1   ALL=(ALL)   NOPASSWD: ALL
test2   ALL=(ALL:ALL)   NOPASSWD: ALL

그런 다음 Apache 사용자 및 그룹으로 명령을 실행하여 테스트합니다. Apache 그룹으로 실행하려고 하면 사용자 test1의 비밀번호를 묻는 메시지가 표시됩니다.

[test1@heisenbug root]$ sudo -u apache ping google.com
PING google.com (74.125.230.233) 56(84) bytes of data.
64 bytes from par08s10-in-f9.1e100.net (74.125.230.233): icmp_seq=1 ttl=63 time=36.2 ms
--- google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 36.245/36.245/36.245/0.000 ms

[test1@heisenbug root]$ sudo -g apache ping google.com
[sudo] password for test1: 

[test2@heisenbug root]$ sudo -u apache ping google.com
PING google.com (74.125.230.226) 56(84) bytes of data.
64 bytes from lhr08s06-in-f2.1e100.net (74.125.230.226): icmp_seq=1 ttl=63 time=34.4 ms
--- google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 34.465/34.465/34.465/0.000 ms

[test2@heisenbug root]$ sudo -g apache ping google.com
PING google.com (74.125.230.233) 56(84) bytes of data.
64 bytes from lhr08s06-in-f9.1e100.net (74.125.230.233): icmp_seq=1 ttl=63 time=35.0 ms
64 bytes from lhr08s06-in-f9.1e100.net (74.125.230.233): icmp_seq=2 ttl=63 time=33.5 ms
--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 33.575/34.308/35.042/0.756 ms

이러한 유형의 사용법이 적용될 수 있는 매우 엄격한 상황이 있다고 상상할 수 있습니다.

관련 정보