ฉันจะกำหนดฉลาก SELinux ให้กับ symlink ด้วย semanage ได้อย่างไรเพื่อคงอยู่หลังจาก relabel


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

อย่างไรก็ตามสิ่งนี้จะไม่รอดจาก 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

การใช้ 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

semanage ไม่มีตัวเลือก -h

ฉันจะให้เซมาเนจตั้งป้ายกำกับของลิงก์เองได้อย่างไรเพื่อให้ยังคงเป็น httpd_sys_content_t หลังจากรีเบล


ว้าวฉันได้รับตราคำถามยอดนิยมสำหรับป้ายนี้และไม่มีการโหวต?
Steven T. Snyder

คำตอบ:


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ตามที่เป็นไวยากรณ์ที่มีผลเมื่อมันถูกเขียน รุ่นที่ใหม่กว่า semanage (EL7) -f lการใช้งาน
user9517
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.