Apache DocumentRoot / var / www của tôi là một liên kết tượng trưng đến một đường dẫn khác. Mục tiêu có nhãn ngữ cảnh tệp thích hợp (httpd_sys_content_t) để apache có thể đọc nó khi bật Selinux. Tuy nhiên, chính liên kết tượng trưng được dán nhãn var_t.
[root@localhost var]# ls -lZ
lrwxrwxrwx. root root unconfined_u:object_r:var_t:s0 www -> /srv/www
Tôi cần phải dán lại liên kết tượng trưng với httpd_sys_content_t.
Chạy chcon với tùy chọn -h ban đầu dường như hoạt động:
[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
Tuy nhiên, điều này không tồn tại một nhãn hiệu:
[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
Sử dụng semanage không tự dán lại liên kết; chỉ là mục tiêu:
[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
semanage không có tùy chọn -h.
Làm cách nào tôi có thể nhận được semanage để đặt nhãn của liên kết để nó vẫn là httpd_sys_content_t sau khi đăng ký lại?