Estoy tratando de establecer contextos SELinux dentro de una estructura de directorio. Así que es algo como esto:
/var/www/sites
/www.example.com
/html
/logs
/www.example.org
/html
/logs
Quiero establecer diferentes contextos en todos los directorios logs
y los directorios html
. Con chcon
solo puedo hacer:
sudo chcon -Rt httpd_sys_rw_content_t /var/www/sites/*/html
sudo chcon -Rt httpd_log_t /var/www/sites/*/logs
Pero ahora quiero que sean permanentes y no tan fáciles con semanage fcontext
. Parece que usa la selección de expresiones regulares basada en los documentos, que dan ejemplos como /myweb(/.*)?
repetidamente. Así que intenté esto:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/sites/[^/]+/html(/.*)?"
Pero no hace ningún cambio. Cuando uso restorecon
después de esto, nada ha cambiado. Si no intento usar [^/]+
, funciona bien:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/sites/www.example.com/html(/.*)?"
¿Puede alguien apuntarme en la dirección correcta? La documentación sobre esto es muy limitada de lo que he encontrado hasta ahora. ¿Cómo puedo usar una selección de comodín dentro de una ruta? Gracias.