SELinux ป้องกัน Apache ไม่ให้เขียนไฟล์


12

SELinux ป้องกันapacheผู้ใช้จากการเขียนไปยังล็อกไฟล์ที่เป็นเจ้าของ เมื่อฉันsetenforce 0ทำงานมัน มิฉะนั้นจะแสดงข้อผิดพลาดนี้

IOError: [Errno 13] Permission denied: '/var/www/webapp/k/site/k.log'

บริบทความปลอดภัยของไฟล์:

$ ll -Z k.log 
-rw-r--r--. apache apache system_u:object_r:httpd_sys_content_t:s0 k.log

ไฟล์ถูกสร้างขึ้นเมื่อตั้งโหมด SELinux เป็นแบบอนุญาต

วิธีการตั้งค่าบริบทความปลอดภัยเพื่อให้apacheผู้ใช้สามารถเขียนในไดเรกทอรีนั้นได้อย่างไร ฉันตั้งค่าบริบทความปลอดภัยของไดเรกทอรีนั้นโดยใช้chconแต่ฉันไม่พบไฟล์ประเภทที่เหมาะสม

จากaudit.log:

type=AVC msg=audit(1409945481.163:1561): avc:  denied  { append } for  pid=16862 comm="httpd" name="k.log" dev="dm-1" ino=201614333 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=file
type=SYSCALL msg=audit(1409945481.163:1561): arch=c000003e syscall=2 success=no exit=-13 a0=7fa8080847a0 a1=441 a2=1b6 a3=3 items=0 ppid=15256 pid=16862 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null)

คำตอบ:


10

สำหรับไฟล์ที่คุณต้องการ Apache httpd_sys_rw_content_tเพื่อให้สามารถที่จะเขียนถึงประเภทจะต้องตั้งค่า


18

ตามที่ระบุไว้แล้วคุณควรสั่งให้ SELINUX อนุญาตให้เขียนไฟล์นั้น สิ่งที่ถูกต้องคือทำเครื่องหมาย/var/www/webapp/k/site/เป็นประเภทhttpd_sys_rw_content_t

ในการทำเครื่องหมายไดเรกทอรีนั้นอย่างถาวรว่าเป็นhttpd_sys_rw_content_tคุณสามารถใช้คำสั่งsemanage fcontext -a -t httpd_sys_rw_content_t /var/www/webapp/k/site(/.*)?; restorecon -RF /var/www/webapp/k/site/ นี้จะอยู่รอดการปรับปรุงนโยบายไบนารีของ SELINUX และการติดตั้งระบบไฟล์ใหม่


2
สิ่งนี้ควรถูกทำเครื่องหมายเป็นคำตอบที่ถูกต้อง และขอแนะนำให้ทำเครื่องหมายไดเรกทอรีอย่างถาวร (ตามที่ระบุไว้ในคำตอบนี้)
skidadon

1
คุณอาจต้องหลีกเลี่ยงวงเล็บจากเชลล์
Michael Hampton

6

สิ่งนี้จะเปลี่ยนการอนุญาต:

chcon --type httpd_sys_rw_content_t /var/www/webapp/k/site/k.log

1
ฉันได้รับข้อผิดพลาดนี้: -bash: ข้อผิดพลาดทางไวยากรณ์ใกล้โทเค็นที่ไม่คาดคิด `('
Derrick Miller
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.