SELinux httpd एक डायरेक्टरी में एक्सेस लिखते हैं


9

मैं SELinux में नया हूँ। डेबियन से आया है। मैं httpdएक डायरेक्टरी को एक्सेस देना चाहता हूं ।

SELinux अलर्ट ब्राउज़र सुझाव देता है:

# grep httpd /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp 

मैं समझ नहीं पा रहा था कि यह कमांड कैसे काम करता है। मैं कहीं भी एक निर्देशिका पथ निर्दिष्ट नहीं करता हूं। यह कैसे पता है कि httpd के लिए किस निर्देशिका की अनुमति है?

पहले मैंने आउटपुट या फ़ाइल से पाठ निकालने के लिए grep का उपयोग किया है। लेकिन यहाँ एक प्रक्रिया पर grep का उपयोग किया जा रहा है। कि मुझे नहीं मिला।

इसके अलावा वास्तविक समाधान क्या है। अगर मैं httpd को डायरेक्टरी में लिखने की पहुँच देना चाहता हूँ?


4
और आपके अन्य प्रश्न का उत्तर देने के लिए, ऑडिट 2 क्लॉक SELinux लॉग फ़ाइल को पढ़ता है और एक नीति लिखता है जिसमें कुछ भी अवरुद्ध है; निर्देशिका नाम लॉग संदेश में होगा। Httpd के लिए टकराने से आप इसे थोड़ा सीमित कर रहे हैं, लेकिन यह विधि अभी भी अधिक व्यापक है जितना कि यह होना चाहिए।
miken32

प्रासंगिक उत्तर: unix.stackexchange.com/questions/511929/…
-1 1

जवाबों:


17

यहां निर्देशिका के संदर्भ को स्थायी रूप से बदलने का तरीका बताया गया है:

# install semanage if you don't already have it:
yum install policycoreutils-python

# give the directory a new default context. The part at the end is a regex.
semanage fcontext -a -t httpd_sys_rw_content_t "/path/to/directory(/.*)?"

# apply the default context to the directory
restorecon -R /path/to/directory

Httpd के लिए विभिन्न संदर्भों पर कुछ और दस्तावेज यहां दिए गए हैं:

आरएचईएल ocu: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/SELinux_Users_and_Administrators_Guide/sect/Managing_Confined_Services-The_Apache_HTTP_Server-Types.html

आरएचईएल 6: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Confined_Services/sect-Managing_Confined_Services-The_Apache_HTTP_Server-Types.html


बिल्कुल सही !! फेडोरा 26 में मेरे लिए काम किया गया था, पॉलीसाइकोरुटिल्स-पायथन पहले से ही डिफ़ॉल्ट रूप से स्थापित किया गया था।
सिर_फेनर

5

SELinux विस्तारित विशेषताओं का उपयोग करता है जो डिस्क पर निर्देशिका संरचनाओं में जोड़ा जा सकता है। सोचें कि क्या ये मेटा डेटा के रूप में हैं। एक्सेस कंट्रोल लिस्ट (ACL) एक और।

विस्तारित विशेषताएँ जिन्हें आपको एक निर्देशिका में संलग्न करने की आवश्यकता होती है, उन्हें संदर्भ ट्रैक्स कहा जाता है और SELinux ट्रैफ़िक पुलिस की तरह काम करता है, यह सुनिश्चित करता है कि एक निष्पादन योग्य जो कुछ संदर्भों में इन संदर्भों के आधार पर फाइल सिस्टम तक पहुंचने की अनुमति है। आप देख सकते हैं कि -Zस्विच का उपयोग करके निर्देशिका पर क्या उपलब्ध है ls

$ sudo ls -Z /var/www
drwxr-xr-x. root root system_u:object_r:httpd_sys_script_exec_t:s0 cgi-bin
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 html

यहाँ आप है कि इन निर्देशिका संदर्भ देख सकते हैं httpd_sys_script_exec_t:s0पर cgi-bindir। और htmlदिर। है httpd_sys_content_t:s0

आप chconकमांड का उपयोग करके इन्हें जोड़ सकते हैं :

$ sudo chcon -t httpd_sys_content_t public_html

जिस कमांड के बारे में आप पूछ रहे हैं, वह बस मॉड्यूल को लोड करेगा mypoll.ppमुझे विश्वास नहीं है कि यह किसी भी चीज को अनुमति देगा, इसमें अधिक संदेश होने की संभावना है audit.logकि आप अपने कमांड के साथ गायब हैं, जो आपको और अधिक विस्तार से बताएगा कि आपको क्या चाहिए पहुँच की अनुमति देने के लिए।

मैं आपको कुछ समय लेने और खुद को SELinux से परिचित कराने के लिए प्रोत्साहित करूँगा। इसके साथ थोड़ा समय बिताने के बाद, यह पहली बार में भ्रामक है, लेकिन आम तौर पर सीधा है। आरंभ करने के लिए नीचे दिए गए संसाधन देखें।

संदर्भ


धन्यवाद। मैं उनके माध्यम से जाऊँगा। लेकिन क्या आप मुझे बता सकते हैं कि इस निर्देशिका को लिखने की पहुँच देने के लिए मुझे क्या करने की आवश्यकता है?
नील बसु

: यह की सामग्री है कि आप अपाचे आप dir को यह प्रसंग जोड़ने के लिए संभावना की जरूरत में पढ़ना चाहते हैंchcon -R -t httpd_sys_content_t <dir>
SLM
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.