CentOS6.4에서 NOEXEC를 시도했습니다. /etc/sudo.conf
다음과 같이 파일을 편집했습니다.
Path noexec /usr/libexec/sudo_noexec.so
그리고 /etc/sudoers
:
ssh ALL=(root) ALL,NOEXEC:/usr/bin/passwd
noexec lib가 올바른 경로에 있다고 확신하지만 사용자로서 ssh를 사용하면 여전히 비밀번호를 변경할 수 있습니다. NOEXEC에서는 결과가 나오지 않습니다. 조언을 주실 수 있는 분 계십니까?
답변1
이 NOEXEC
플래그는 프로그램 실행을 방해하지 않습니다. 이는 나열된 프로그램이 다른 프로그램을 실행하는 것을 방지합니다. ~에서만수돌:
aaron shanty = NOEXEC: /usr/bin/more, /usr/bin/vi
이를 통해 aaron 사용자는 noexec를 활성화한 상태에서 /usr/bin/more 및 /usr/bin/vi를 실행할 수 있습니다. 이렇게 하면 이 두 명령이 다른 명령(예: 쉘)을 실행하는 것을 방지할 수 있습니다.
시스템이 noexec를 지원할 수 있는지 확실하지 않은 경우 언제든지 noexec가 활성화되었을 때 쉘 이스케이프가 작동하는지 확인할 수 있습니다.
사용자가 특정 명령을 실행하지 못하도록 하려면 !
예를 들어 다음을 살펴보십시오.
ssh ALL=(root) ALL, !/usr/bin/passwd
/usr/bin/passwd
다른 이름으로 복사본을 만들고 이를 호스트에 복사하고 적절한 권한 등을 설정할 수 있으므로 이 줄은 별로 도움이 되지 않습니다.