अपिनक्स ने अपाचे को एक फ़ाइल में लिखने से रोका


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

उन फ़ाइलों के लिए जिन्हें आप अपाचे को लिखना चाहते हैं, टाइप करने के लिए सेट होना चाहिए 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
इसे सही उत्तर के रूप में चिह्नित किया जाना चाहिए। और यह सलाह दी जाती है कि निर्देशिका को स्थायी रूप से चिह्नित करें (जैसा कि इस उत्तर में कहा गया है)।
स्किडडॉन

1
आपको संभवतः शेल से कोष्ठकों से बचने की आवश्यकता है।
माइकल हैम्पटन

6

यह अनुमतियाँ बदल देगा:

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

1
मुझे यह त्रुटि मिलती है: -बैश: अप्रत्याशित टोकन के पास सिंटैक्स त्रुटि `('
डेरिक मिलर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.