Apache saya DocumentRoot / var / www adalah tautan simbolis ke jalur lain. Target memiliki label konteks file yang sesuai (httpd_sys_content_t) sehingga apache dapat membacanya dengan SELinux diaktifkan. Namun, tautan simbolik itu sendiri dilabeli dengan var_t.
[root@localhost var]# ls -lZ
lrwxrwxrwx. root root unconfined_u:object_r:var_t:s0 www -> /srv/www
Saya perlu menandai ulang tautan simbolik dengan httpd_sys_content_t.
Menjalankan chcon dengan opsi -h awalnya tampaknya berfungsi:
[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
Namun ini tidak bertahan dari relabel:
[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
Menggunakan semanage tidak menandai ulang tautan itu sendiri; hanya targetnya:
[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 tidak memiliki opsi -h.
Bagaimana saya bisa mendapatkan semanage untuk mengatur label tautan itu sendiri sehingga tetap sebagai httpd_sys_content_t setelah relabel?
linux
apache-2.2
permissions
symbolic-link
selinux
Steven T. Snyder
sumber
sumber
Jawaban:
Saya menemukan jawabannya:
semanage memiliki opsi
-f
yang memungkinkan Anda menentukan jenis file seperti yang diperlihatkan dalam bidang mode olehls
( duntuk direktori,--
untuk file biasa, luntuk tautan). Saat-f -l
digunakan, tautan itu sendiri ditargetkan.Lihat
semanage-fcontext
halaman manual.sumber
-f -l
karena itu adalah sintaks yang berlaku ketika ditulis. Versi semanage (EL7) yang lebih baru digunakan-f l
.