나는 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
모듈을 확장할 수 있습니다.