ก่อนอื่นคุณสามารถดูบริบทของบางสิ่งด้วย ls โดยใช้ ls -Z
[root@servername www]# ls -dZ /var/www
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t /var/www
ประการที่สองมีสองตัวเลือกในการให้ Samba และ Apache เข้าถึงไดเรกทอรีเดียวกันได้
วิธีง่าย ๆ คือเพียงอนุญาตให้ samba เข้าถึงการอ่าน / เขียนทุกที่ด้วย:
setsebool -P samba_export_all_rw 1
มันง่ายง่ายและไม่ยุ่งกับคุณสมบัติแปลก ๆ ของ SELinux
หากคุณกังวลว่าแซมบ้าจะสามารถเข้าถึงไดเรกทอรีทั้งหมดและต้องการเปลี่ยน / var / www เท่านั้นลอง:
chcon -t public_content_rw_t /var/www
setsebool -P allow_smbd_anon_write 1
setsebool -P allow_httpd_anon_write 1
สิ่งนี้จะช่วยให้ทั้ง Samba และ Apache สามารถเขียนเข้าถึงไดเรกทอรีใด ๆ ที่มีบริบท public_content_rw_t โปรดทราบว่า chcon กำลังแก้ไข / var / www เท่านั้น ไดเรกทอรีใหม่ใด ๆ ที่สร้างภายใต้ / var / www จะเป็น public_content_rw_t แต่ไม่ใช่ไดเรกทอรีที่มีอยู่เช่น / var / www / html หรือ / var / www / คู่มือ หากคุณต้องการเปลี่ยนแปลงทุกอย่างให้เพิ่ม -R ใน chcon:
chcon -R -t public_content_rw_t /var/www
คุณสามารถดูหน้าวิกิ CentOS นี้เพื่อรับคำแนะนำเกี่ยวกับ SELinux booleans อื่น ๆ