Foro de elhacker.net

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: Pedro_madrid en 19 Junio 2015, 12:54 pm



Título: Problema CentOS con SELinux y cron
Publicado por: Pedro_madrid en 19 Junio 2015, 12:54 pm
Buenos días,

En primer lugar decir que soy novato en el mundo de Linux/GNU, por lo que agradecería comprensión.

Tengo un servidor con CentOS y SELinux habilitado el cual me da un problema a la hora de ejecutar un script desde cron. El cron es llamado desde el usuario apache y la línea es la siguiente:
10 * * * * /bin/sh /opt/backup.sh

En el log del cron me da la siguiente línea:
crond[2948]: ((null)) Unauthorized SELinux context=system_u:system_r:system_cronjob_t:s0-s0:c0.c1023 file_context=unconfined_u:object_r:etc_t:s0 (/etc/crontab)

¿Cómo puedo autorizar esa línea del cron para que ejecute el script sin que SELinux me arroje el error?

Muchas gracias,
Un saludo


Título: Re: Problema CentOS con SELinux y cron
Publicado por: MinusFour en 19 Junio 2015, 15:06 pm
Creo que tienes que cambiar el contexto al archivo en /etc/crontab.

Código
  1. sudo chcon -t system_cron_spool_t nombredelcrontab


Título: Re: Problema CentOS con SELinux y cron
Publicado por: Pedro_madrid en 22 Junio 2015, 08:16 am
Creo que tienes que cambiar el contexto al archivo en /etc/crontab.

Código
  1. sudo chcon -t system_cron_spool_t nombredelcrontab
Buenos días,

Tiene toda la pinta de ser algo relacionado con el contexto del archivo, como bien has dicho. Sin embargo tras cambiar el contexto del cron de apache sigue sin funcionar.
Contexto antiguo:
Código
  1. [root@XXXXXX cron]# ls -Z
  2. -rw-------. root root unconfined_u:object_r:user_cron_spool_t:s0 apache
  3.  

Contexto nuevo:
Código
  1. [root@XXXXXX cron]# ls -Z
  2. -rw-------. root root unconfined_u:object_r:system_cron_spool_t:s0 apache
  3.  

También intenté cambiarle el contexto a system_cronjob_t (que es uno de los que menciona el error), pero me da error de permisos.

¿Alguna idea?

Muchas gracias,
Un saludo


Título: Re: Problema CentOS con SELinux y cron
Publicado por: MinusFour en 22 Junio 2015, 15:30 pm
Prueba a cambiar el usuario y el rol tambien:

Código
  1. sudo chcon -u system_u -r system_r -t system_cron_spool_t nombredecrontab

system_cronjob_t es el contexto bajo el cual el proceso de cron esta corriendo y los archivos con los que interactuan deben estar bajo el contexto de system_cron_spool_t según:

https://wiki.gentoo.org/wiki/SELinux/cron