Як призначити мітку SELinux для симпосилання з semanage, щоб вона зберігалася після відновлення?


12

Мій 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 після відновлення?


Нічого собі, я отримав знак популярного питання за цей, і немає голосів?
Стівен Т. Снайдер

Відповіді:


10

Я зрозумів це:

semanage має опцію, -fяка дозволяє вказати тип файлу, як показано в полі режиму ls( dдля каталогів, --для звичайних файлів, lдля посилань). Коли -f -lвикористовується, посилання саме націлене.

[root@localhost var]# semanage fcontext -f -l -a -t httpd_sys_content_t /var/www
[root@localhost var]# restorecon -Rv .
restorecon reset /var/www context system_u:object_r:var_t:s0->system_u:object_r:httpd_sys_content_t:s0

Дивіться сторінку semanage-fcontextчоловіка.


3
Ця відповідь правильно використовує -f -lяк той синтаксис, який діяв під час написання. Більш пізні версії використання сенажу (EL7) використовують -f l.
користувач9517
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.