Apache DocumentRoot / var / www, başka bir yola sembolik bir bağlantıdır. Hedef, uygun dosya bağlam etiketine (httpd_sys_content_t) sahiptir, böylece apache SELinux etkinken okuyabilir. Ancak, sembolik bağlantının kendisi var_t ile etiketlenir.
[root@localhost var]# ls -lZ
lrwxrwxrwx. root root unconfined_u:object_r:var_t:s0 www -> /srv/www
Httpd_sys_content_t ile sembolik bağlantıyı yeniden etiketlemem gerekiyor.
Chcon'u -h seçeneği ile çalıştırmak başlangıçta işe yarar:
[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
Bununla birlikte, bu bir yeniden etiketten sağ çıkmaz:
[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 kullanmak bağlantının kendisini yeniden etiketlemez; sadece hedef:
[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'in -h seçeneği yoktur.
Yeniden etiketlemeden sonra httpd_sys_content_t olarak kalması için bağlantının etiketini ayarlamak için nasıl semanage alabilirim?