अपाचे: खोज अस्वीकृत होने के कारण अस्वीकृत हैं


75

मुझे पता है कि यह सवाल बहुत पूछा जाता है, लेकिन मैंने जो समाधान देखा वह मेरे लिए कारगर नहीं था।

मेरे पास केवल एक वर्चुअल होस्ट सक्षम है, और मैं उस फ़ोल्डर तक पहुंच को सक्षम करने का प्रयास कर रहा हूं जो दस्तावेज़ रूट के अंतर्गत नहीं है

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html

Alias /movies /home/username/Videos/Movies

<Directory /home/username/Videos/Movies/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

मैं /etc/apache2/envvarsनिम्नानुसार सेट करता हूं

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=public

मैंने यह सुनिश्चित किया कि / होम / यूज़रनेम / वीडियो / और इसके उप फ़ोल्डर्स के स्वामित्व में हैं username:public, 777 (775 के बाद काम नहीं करने) के लिए अनुमतियाँ सेट करें और सुनिश्चित करें कि उपयोगकर्ता www-dataसमूह से संबंधित है public

अब, जब मैं ब्राउज़ करता http://localhost/moviesहूं तो मुझे मिल जाता है

[Mon Apr 21 11:28:14.971844 2014] [core:error] [pid 1385:tid 140067725104896] (13)Permission denied: [client 127.0.0.1:46603] AH00035: access to /movies/ denied (filesystem path '/home/username/Videos') because search permissions are missing on a component of the path

लेकिन जब मैंने /etc/apache2/envvarsअपाचे username(अपने स्वयं के उपयोगकर्ता नाम) को चलाने के लिए सेट किया तो सब कुछ ठीक काम करता है। समस्या अनुमति से संबंधित है, लेकिन मैं नहीं देखता कि मेरे मामले में कैसे; खासकर जब मैंने अनुमतियाँ सेट की हैं 777। कोई विचार?

PS उबंटू संस्करण 14.04 है, Apache 2.4.7 है और मैंने अन्य कॉन्फ़िगरेशन फ़ाइलों को संपादित नहीं किया है।



मैंने वहां पर जो कुछ भी सुझाया था, मैंने सब कुछ किया, जैसा कि मैंने लिखा था, और यह मदद नहीं करता है
योताम

आपके /homeद्वारा सक्षम ACL के साथ कोई भी मौका मुहैया कराया गया है ? (अनुमति बिट के अंत में "+" संकेत है अगर यह मामला है (साथ की जाँच करें ls -l))
पोलोसॉन

नहीं, मैंने ऐसा नहीं किया। अभी मैं अपने उपयोगकर्ता के तहत अपाचे चला रहा हूं, इसलिए यह काम कर रहा है, लेकिन मैं इसे सुरक्षा कारणों से किसी अन्य उपयोगकर्ता के तहत चलाना चाहूंगा।
योतम

मैं पहली बार लिनक्स का उपयोग कर रहा हूं। मैंने Ubuntu 14.04 LTE संस्करण डाउनलोड किया। मैं उसी समस्या का सामना कर रहा हूं। क्या कोई कृपया मदद कर सकता है?
इमदाद

जवाबों:


95

एक है chmod +xअपने उपयोगकर्ता dir पर, और अपाचे पुनः आरंभ करें। 755 अनुमतियां काम करनी चाहिए। मैं 644 के साथ समस्या है ।


6
दरअसल, और दोगुना करने के लिए जाँच फ़ाइल और निर्देशिका अनुमतियाँ, यदि उपलब्ध हो, तो आप उपयोग कर सकते हैं namei -m /home/youruser/public_html/yourfile.extया कोशिश people.apache.org/~igalic/hacks/parsepath
जूनियर एम

2
स्पष्ट करने के लिए, जिस भी निर्देशिका को आप अपाचे को पढ़ना चाहते हैं, अपाचे उपयोगकर्ता के लिए पठनीय होना चाहिए। सबसे अधिक संभावना है कि आपका उपयोगकर्ता होम फ़ोल्डर आपके पास उपयोगकर्ता और समूह के स्वामित्व में नहीं है, इसके लिए आपको /home/usernameइसे एपसे एक्सेस करने के लिए 755 अनुमतियां सेट करनी होंगी।
रूबल

ओएसएक्स मैक ओएस हाई सिएरा पर मुझे यह समस्या थी और इस समाधान ने मेरे लिए काम किया। अपाचे को पुनरारंभ करने के लिए भी नहीं था।
चले गए

घंटों खोज के बाद यह पता चला कि अनुमतियाँ डॉक्यूमेंटरूट के मूल निर्देशिका के लिए भी सही होनी चाहिए। आपका बहुत बहुत धन्यवाद । BTW यह अपाचे को फिर से शुरू करने की जरूरत नहीं है
लेखाकार م

27

यदि सेलिनक्स की समस्या होने के बजाय, केवल इसे अक्षम करने के बजाय, यह पृष्ठ और यह पृष्ठ एक्सेस देने के लिए कमांड देता है:

chcon -R -t httpd_sys_content_t ~/public_html/

1
मुझे यकीन था कि यह मेरा मुद्दा था। लानत है CentOS! कमांड के लिए Thx, पूरी तरह से काम करता है।
बालमिपुर

2
धन्यवाद, बस उस ~/public_html/हिस्से को प्रतिस्थापित करना था जिसे मैं सेवा करने की कोशिश कर रहा था।
trpt4him

chcon -R -t httpd_sys_content_t /var/www/html/phpmyadmin/(मेरी स्थिति में)
cssyphus

खोजे गए सेलेनक्स सरल गृहणियों को संभाल नहीं सकते हैं, और उन सुविधाओं में से केवल एक की आवश्यकता थी जबकि दूसरा वैकल्पिक था। फिक्स के रूप में अनुस्मारक के लिए धन्यवाद - प्रत्येक नई रिलीज के साथ अनिवार्य पुन: परीक्षण अवधि के बाद, और निराशा, मैं आमतौर पर किकस्टार्ट में ही हैक करता हूं। अब सिस्टमड के लिए।
user2066657

17

आपके पास सेलिनक्स सक्षम हो सकता है। प्रयत्न, कोशिश

getenforce

यदि यह "लागू करना" दिखाता है, तो प्रयास करें

setenforce 0

और कोशिश करें कि यह आपकी समस्या को ठीक कर दे।


4
केवल फिक्स के रूप में SELinux को अक्षम न करें। बंदरगाहों को पुन: असाइन करने या बूलियन सेट करने से SELinux की समस्याओं को ठीक करें।
सिर

1
यह उत्तर यह पहचानने में मदद करता है कि समस्या SELinux से संबंधित है। लेकिन इसे अक्षम करने की अनुशंसा नहीं की जाती है।
राजकुमार आर

15

मुझे एक ही समस्या का सामना करना पड़ा, घंटों कोशिश करने के बाद, मैंने पाया कि एक हल वास्तव में समस्या का हल करता है:

https://wiki.apache.org/httpd/13PermissionDenied

असल में, अपाचे सर्वर को न केवल उन सभी फाइलों की रीड परमिशन की आवश्यकता होती है, जो आपके वर्चुअल होस्ट की राह में सभी निर्देशिकाओं की निष्पादन अनुमति हैं।

उपयोगिता नामी का उपयोग पथ के प्रत्येक घटक के साथ अनुमतियों को सूचीबद्ध करके अनुमतियों की समस्याओं को खोजने में मदद करने के लिए किया जा सकता है:

namei --modes /usr/local/apache2/htdocs/foo/bar.html

मेरे मामले में, मेरे मार्ग में एक निर्देशिका की अनुमति 700 है, यह समस्या का कारण बनता है। इसे 701 में बदलने के बाद, समस्या हल हो गई।


1
यहाँ लिंक उपयोगी है क्योंकि यह समस्या की व्याख्या करता है: निर्देशिका पथ में एक नोड खोज अनुमतियाँ गायब है। इसे खोजने के लिए "namei" कमांड का उपयोग करें और फिर 755 पर "chmod" करें।
user3751385

यह वास्तविक कारण के साथ-साथ समाधान भी बताता है। धन्यवाद
इमदादुल सवोन

1

मैं इस मुद्दे का अनुभव कर रहा था जब मैं एक Ubuntu 16.04 होस्ट पर docker कंटेनर में अपाचे को चलाने की कोशिश कर रहा था जो कि 4.10 के बजाय 4.4 कर्नेल का उपयोग कर रहा था।

एक बार जब मैंने इस कमांड को होस्ट पर चलाया और फिर से तैनात किया, तो मैं ठीक था:

sudo apt-get install --install-recommends linux-generic-hwe-16.04 

मैं इस समस्या से टकरा गया हूं, लेकिन अजीब प्रभाव के साथ जो मैं chmodया chownकंटेनर के अंदर कर सकता हूं , और यह अपाचे 403 त्रुटियों को थोड़ी देर के लिए दबा देता है, केवल कुछ समय बाद वापस करने के लिए। कोई हस्तक्षेप करने वाला कंटेनर पुनरारंभ या अन्य महत्वपूर्ण परिवर्तन नहीं है जो इसका कारण हो सकता है, जहां तक ​​मैं बता सकता हूं। चूंकि मैं वास्तव में 16.04 चला रहा हूं, इसलिए मैंने इस बाइनरी को स्थापित करने की कोशिश की, और मेरे 403s अभी के लिए खाड़ी में आयोजित किए जाते हैं। मैं उस पर एक बीड़ी रखूँगा, और धन्यवाद!
बजे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.