사용자가 SELinux를 사용하여 ping 유틸리티만 *만* 수행할 수 있도록 허용하고 싶습니다.

사용자가 SELinux를 사용하여 ping 유틸리티만 *만* 수행할 수 있도록 허용하고 싶습니다.

나는 rbash(제한된 bash)를 사용하여 이 작업을 수행했지만 이제는 SELinux를 사용하고 싶습니다.

그래서 새 사용자를 생성하고 그를 guest_u에 추가했습니다.

semanage login -a -s guest_u restricteduser

나는 또한 그에게 어떤 일도 하는 것을 금지했습니다.

setsebool allow_guest_exec_content=0

그리고 여기서는 그에게 ping 작업만 수행하도록 허용해야 합니다.

그리고 어떻게든 그에게 네트워킹을 제공해야 합니다. 어떻게 해야 하나요?

답변1

allow_guest_exec_content부울 값은 사용자가 guest_t홈 디렉터리 또는 임시 디렉터리에서 파일을 실행할 수 있는지 여부를 제어합니다. 그렇지 않으면 정책에서 허용하는 경우 사용자는 다른 실행 파일을 계속 실행할 수 있습니다.

SELinux 참조 정책은 특정 액세스를 허용하는 인터페이스를 제공합니다. 이러한 인터페이스는 SELinux 정책에 나열되어 있습니다.문서(귀하의 배포판에서는 패키지로 제공할 수 있습니다 selinux-policy-doc).

게스트 사용자가 핑을 사용하도록 허용하려면 다음을 사용할 수 있습니다.netutils_exec_ping상호 작용.

그런 다음 다음과 같은 맞춤 전략을 위한 모듈을 만듭니다. my_guest.te:

policy_module(my_guest, 1.0)

gen_require(`
    type guest_t;
    role guest_r;
')

netutils_run_ping(guest_t, guest_r)

다음을 사용하여 컴파일합니다.

make -f /usr/share/selinux/devel/Makefile my_guest.pp

허용하려는 네트워크 액세스 유형에 따라 적절한 인터페이스를 찾아 동일한 방식으로 사용하여 my_guest모듈을 확장할 수 있습니다.

관련 정보