Sto cercando di impostare i contesti di SELinux all'interno di una struttura di directory. Quindi è qualcosa del genere:
/var/www/sites
/www.example.com
/html
/logs
/www.example.org
/html
/logs
Voglio impostare diversi contesti su tutte le directory logs
e le directory html
. Con chcon
posso solo fare:
sudo chcon -Rt httpd_sys_rw_content_t /var/www/sites/*/html
sudo chcon -Rt httpd_log_t /var/www/sites/*/logs
Ma ora voglio renderli permanenti e non così facili con semanage fcontext
. Sembra utilizzare la selezione regex basata sui documenti, che fornisce ripetutamente esempi come /myweb(/.*)?
. Così ho provato questo:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/sites/[^/]+/html(/.*)?"
Ma non apporta alcuna modifica. Quando uso restorecon
dopo questo nulla è cambiato. Se non provo a usare [^/]+
, funziona bene:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/sites/www.example.com/html(/.*)?"
Qualcuno può indicarmi la giusta direzione? La documentazione su questo è molto limitata da ciò che ho trovato finora. Come posso utilizzare una selezione di caratteri jolly all'interno di un percorso? Grazie.