2013-01-20 18 views
6

में अपाचे में अनुमति त्रुटि नहीं है। मैंने अपाचे 2.2 को केंद्र 6 में स्थापित किया है। सब कुछ ठीक काम करता है जब अपाचे फ़ोल्डर अपने डिफ़ॉल्ट स्थान /var/www/html पर था। फिर मैंने अपने उपयोगकर्ताओं के घर फ़ोल्डर के अंदर वर्चुअल होस्ट कॉन्फ़िगर किया। उसके बाद अपाचे Forbidden You don't have permission error दिखानी शुरू कर दी है जब मैं ब्राउज़र से localhost या 127.0.0.1 जाने की कोशिश की।आपके पास CentOS

इस

कोड मैं httpd.conf

<VirtualHost *:80> 
     DocumentRoot "/home/anjan/workspace/mfs" 
     ServerName anjan-centOS 
     <Directory "/home/anjan/workspace/mfs"> 
       Options Indexes FollowSymLinks MultiViews 
       AllowOverride All 
       Order Deny,Allow 
       Allow from all 
     </Directory> 
</VirtualHost> 

मैं भी अक्षम SElinux के रूप में कुछ लेख में लेकिन व्यर्थ उल्लेख किया गया था में प्रयोग किया जाता है। अगर कोई मेरी मदद कर सकता है तो इसकी सराहना की जाएगी।

+0

यह एक मूल अनुमति समस्या की तरह दिखता है, अपाचे समस्या नहीं। अपाचे किस उपयोगकर्ता के रूप में चल रहा है? क्या उस उपयोगकर्ता के पास '/ home/anjan/workspace/mfs' तक पहुंच है? – larsks

+1

यह जांचने का एक अच्छा तरीका है कि अपाचे निर्देशिका को पढ़ सकता है या नहीं, 'sudo -u apache ls/home/anjan/worskapce/mfs' –

+0

@CoreyHenderson मैंने प्रत्येक फ़ाइल और फ़ोल्डर की फ़ाइल अनुमति को' -rw-rw-rw 'में बदल दिया है -' लेकिन अभी भी कोई भाग्य नहीं है। कोई विचार क्यों? – th1rdey3

उत्तर

6

मैं समस्या हल हो। सिस्टम की अनुमति के साथ दखल देने के बाद मुझे पता चला कि user "anjan" जो /home/anjan के मालिक हैं /home/anjan पर पढ़ने/लिखने/निष्पादित करने की अनुमति थी लेकिन group "anjan", user "anjan" बनाया गया था जब कोई अनुमति नहीं थी।

ls -l /home/ 

drwx------. 28 anjan anjan 4096 Jan 21 13:19 anjan 

तो मैं इस आदेश

chmod -R 770 /home/anjan 
ls -l /home/ 
drwxrwx---. 28 anjan anjan 4096 Jan 21 13:19 anjan 

मैं के तहत जो उपयोगकर्ता मेरी अपाचे this धागे से चल रहा है पता चला के साथ अनुमति को बदल दिया दिखाया। यह user "apache"

के तहत चल रहा था इसलिए मैंने इस आदेश के साथ user "apache"group "anjan" जोड़ा।

usermod -G anjan,apache apache 

उस voila के बाद। निषिद्ध त्रुटि।

पीएस मैंने रूट उपयोगकर्ता के रूप में सबकुछ किया।

अद्यतन ऐसा लगता है कि प्रदान किया गया लिंक अब टूट गया है। Heres दूसरा एक।

बस सुरक्षित होने के लिए (भविष्य में टूटे हुए लिंक से बचने के लिए), यहां कमांड की प्रतिलिपि बनाएँ। टर्मिनल प्रकार में -

ps axo user,group,comm | grep apache 
+0

पूरी तरह से आरएचईएल के लिए काम किया! यह लापता लिंक था। इसके लिए धन्यवाद! – rcd

1

यह (मेरे लिए कम से कम) एक संदिग्ध डिजाइन है। इसका मूल रूप से अर्थ है कि अपाचे उपयोगकर्ता के पास उन सभी उपयोगकर्ता की फ़ाइलों के लिए WRITE पहुंच है, उदाहरण के लिए ssh-keys उदाहरण।

कोई क्रैकर अपाचे पर हमला नहीं करता है तो मजेदार नहीं है।

chmod -R g-rwx ~ # undo the unsafe -R first 
chmod g+rx ~ ~/workspace 
chmod -R g+rx ~/workspace/mfs 

तो apache 'अंजन' समूह का एक सदस्य है:

एक साधारण संशोधन जबकि 'अंजन' के रूप में चल रहा होगा।

मेरी सिफारिश एसीएल का उपयोग करना है: अगर फाइल सिस्टम इसका समर्थन करता है।

SELinux चल अब है?ऐसा होना चाहिए और यदि अभी भी ऐसा मामला है कि SELinux नीति workspace/mfs पर अपाचे की पहुंच को अवरुद्ध करती है तो विभिन्न/संदेश/संदेश में सीलर्ट से कई संदेश स्पष्ट होना चाहिए। यह समस्या आमतौर पर सेटसेबोल के एक न्यायसंगत उपयोग के साथ तय की जाती है।

SELinux को निष्क्रिय करना है क्योंकि कुछ काम नहीं कर रहा है और कहा कि विधि की सिफारिश Njaa है ....

मूल समस्या यह है कि खुद के रूप में और उसकी वजह से अपाचे रन अनुमतियों की गणना करते समय अन्य श्रेणी में झुके जाता है।

chmod o+rx ~anjan/ ~anjan/workspace/ ~anjan/workspace/mfs 

पर्याप्त होना चाहिए।

सेंटोस 6 रेडहाट एंटरप्राइज़ लिनक्स का एक मुफ्त (मुफ्त बियर में) संस्करण है और इस तरह के रेडहाट के दस्तावेज़ https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Confined_Services/ एक आवश्यकता है।

+0

आपने एक वैध बिंदु बनाया है। लेकिन मेरे मामले में मैं एक देव वातावरण स्थापित कर रहा था इसलिए मैंने कोड को उपयोगकर्ताओं के घर निर्देशिका में रखा। लेकिन उत्पादन के लिए मुझे लगता है कि किसी भी उपयोगकर्ता होम निर्देशिका में कोड रखने का भी अच्छा विचार नहीं है। – th1rdey3