SELinux Evita Java desde Running
Pregunta
Recientemente he instalado Sun Java en un sistema con un SELinux bastante básico instalo en él.
Estoy corriendo Debian Etch e instalado el paquete de Sun Java desde el repositorio de paquetes que no es libre.
Aquí están los avisos de error que aparecen en el registro del sistema cuando corro java -version
.
`Feb 9 14:02:40 dev núcleo: de auditoría (1265742160.570: 4107): AVC: negado {} execmem para pid = 9882 comm = "java" scontext = user_u: system_r: unconfined_t: s0 = tcontext user_u: system_r : unconfined_t: s0 tclass = proceso
Feb 9 14:02:40 dev núcleo: de auditoría (1265742160.578: 4108): AVC: negado {} execmem para pid = 9882 comm = "java" scontext = user_u: system_r: unconfined_t: s0 = tcontext user_u: system_r: unconfined_t: s0 tclass = process`
He buscado en Google en todo y parece que necesito para crear una política de SELinux que permite Java para realizar operaciones que violan las restricciones execmem
. ¿Es esta una suposición correcta? Si es así, ¿cómo debo comenzar?
Actualizaciones:
busqué y encontré una política específica dirigida a la manipulación de Java. Lo instalé con el siguiente comando:
$ sudo semodule -i /usr/share/selinux/refpolicy-targeted/java.pp
Esto no ayuda, sin embargo. Sigo para ver los mensajes de auditoría idénticas en registro del sistema.
Solución
Esta guía: http://etbe.coker.com.au/2006/12/08/se-linux-on-debian-in-5-minutes/ y dgrift en #selinux me dio un indicio de la solución correcta.
# semodule -i /usr/share/selinux/refpolicy-targeted/java.pp
# restorecon -r -v /usr
Hay una política específica disponible para Java que tiene que ser aplicado usando semodule
. Una vez que se aplica la directiva, restorecon
tiene que ser utilizado para aplicar la directiva a los archivos binarios de Java.