Мій apache DocumentRoot / var / www - символічне посилання на інший шлях. Ціль має відповідний контекстний ярлик файлу (httpd_sys_content_t), щоб apache міг читати його з увімкненим SELinux. Тим НЕ менше, символічна посилання сама мітять var_t.
[root@localhost var]# ls -lZ
lrwxrwxrwx. root root unconfined_u:object_r:var_t:s0 www -> /srv/www
Мені потрібно відновити символічне посилання з httpd_sys_content_t.
Запуск chcon з опцією -h спочатку, здається, працює:
[root@localhost var]# chcon -h -t httpd_sys_content_t /var/www
[root@localhost var]# ls -lZ
lrwxrwxrwx. root root unconfined_u:object_r:httpd_sys_content_t:s0 www -> /srv/www
Однак це не переживе релебел:
[root@localhost var]# restorecon -Rv .
restorecon reset /var/www context system_u:object_r:httpd_sys_content_t:s0->syst
em_u:object_r:var_t:s0
Використання semanage не відновить саму посилання; тільки ціль:
[root@localhost var]# semanage fcontext -a -t httpd_sys_content_t /var/www
[root@localhost var]# restorecon -Rv .
[root@localhost var]# ls -lZ
lrwxrwxrwx. root root unconfined_u:object_r:var_t:s0 www -> /srv/www
senanage не має опції -h.
Як я можу отримати semanage, щоб встановити мітку самого посилання, щоб він залишався як httpd_sys_content_t після відновлення?