파일에서 다음 줄을 고려하십시오 /etc/sudoers
.
username ALL=(ALL) ALL, !/usr/bin/passwd
내가 아는 한, 사용자는 username
그렇지 않은 경우를 제외하고는 sudo를 사용할 수 있습니다 /usr/bin/passwd
. 그러나 사용자는 여전히 sudo -s
/get 루트 쉘을 사용 sudo -i
하여 원하는 작업을 수행할 수 있습니다. 내 이해가 맞나요? 사용자가 루트로서 비밀번호를 변경하는 것을 정말로 비활성화하려면 더 나은 구성은 무엇입니까?
답변1
SELinux와 같은 추가 보안 수준을 사용하지 않으면 이 작업을 수행할 수 없습니다. 그러나 이는 나쁜 생각이기도 합니다. 왜냐하면 한 사람이 sudo를 통해 (거의 전체) 루트 권한을 얻을 수 있다면 실제로는 다른 사용자를 잠글 수 있는 가능성이 많이 있기 때문입니다.
바라보다https://serverfault.com/questions/36759/editing-sudoers-file-to-restrict-a-users-commands
답변2
당신은 이것을 할 수 있습니다Cmnd_alias기록. 귀하의 경우 해결책은 다음과 같습니다.
Cmnd_Alias PASSWD = /usr/bin/passwd
username ALL=(ALL) ALL, !PASSWD