
Soy nuevo en el concepto SELiunx y según elRHEL7 > Guía del usuario y administrador de SELinux > 3.2. PROCESOS NO CONFINADOS
Registro de auditoría
type=IPC msg=audit(1624375715.312:4225): ouid=0 ogid=0 mode=0666 obj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
type=PROCTITLE msg=audit(1624375715.312:4225): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44
type=AVC msg=audit(1624375724.580:4226): avc: denied { unix_read unix_write } for pid=25626 comm="httpd" key=1392707921 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tclass=shm permissive=0
type=SYSCALL msg=audit(1624375724.580:4226): arch=c000003e syscall=29 success=no exit=-13 a0=53030951 a1=4338 a2=1b6 a3=6b items=0 ppid=25612 pid=25626 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null)
Cambié httpd para que se ejecute en unconfind_t
el dominio, pero ahora no puedo volver a cambiar el httpd al httpd_t
dominio.
Creé httpd en unconfined_t
el dominio para que shmget
la función funcionara, llamado por un proceso php alojado por httpd.
[user@rhel7 ~]$ sudo chcon -t bin_t /usr/sbin/httpd
[user@rhel7 ~]$ ls -Z /usr/sbin/httpd
-rwxr-xr-x. root root system_u:object_r:bin_t:s0 /usr/sbin/httpd
[user@rhel7 ~]$ systemctl start httpd.service
.....
[root@rhel7 user]# chcon -r system_r -t httpd_t /usr/sbin/httpd
chcon: failed to change context of ‘/usr/sbin/httpd’ to ‘system_u:system_r:httpd_t:s0’: Permission denied
[root@rhel7 user]#
Respuesta1
Debería poder ejecutarlo restorecon -v /usr/sbin/httpd
para restaurarlo a los valores predeterminados.
Si desea cambiarlo manualmente, debe utilizarlo httpd_exec_t
como tipo de archivo.
Respuesta2
Tuve un problema similar: al iniciar sesión como root en RH 8.5, no podía cambiar un archivo a unconfined_t
. Me di cuenta de que usar unconfined_t
no es la forma correcta de "solucionar" los problemas. La forma correcta sería hacer que los archivos formen parte de un tipo correcto existente, como sugirió el usuario anterior, y luego usarlos semanage fcontext
para hacer que ese cambio sea persistente, o definir un nuevo tipo y política de seguridad. En su caso, no necesitaba una nueva póliza, porque httpd_t
encaja.
Estaba intentando cambiar el tipo de un nuevo servicio a unconfined_t
. Una vez más, lo ideal sería haber creado un tipo y una política completamente nuevos, pero eso estaba más allá del alcance de lo que podía hacer. Pero:
chcon -t unconfined_t my_file
estaba dando permiso denegado.
Para cualquiera que busque una solución, lo que hice fue:
# setenforce 0
# chcon -t unconfined_t my_file
# setenforce 1
# getenforce
Enforcing
No estoy seguro de que esta sea la forma correcta de hacerlo, pero me permitió hacer las cosas y más adelante escribiré una nueva política y encontraré un tipo para usarla.