मुझे पता है कि यह एक बहुत पुराना प्रश्न है, लेकिन मैं गहराई से स्पष्टीकरण के साथ अच्छा समाधान जोड़ना चाहता था। आपको उबंटू जैसे सिस्टम पर दो कथनों को निष्पादित करना होगा और फिर यह एक आकर्षण की तरह काम करता है।
लिनक्स में अनुमतियों को तीन अंकों के साथ दर्शाया जा सकता है। पहला अंक फाइलों के मालिक की अनुमति को परिभाषित करता है। उपयोगकर्ताओं के विशिष्ट समूह की अनुमतियों का दूसरा अंक। तीसरा अंक उन सभी उपयोगकर्ताओं के लिए अनुमतियों को परिभाषित करता है जो मालिक नहीं हैं और न ही समूह के सदस्य हैं।
वेबसर्वर को एक आईडी के साथ निष्पादित करना चाहिए जो समूह का सदस्य है। वेबसर्वर को कभी भी उसी आईडी से नहीं चलना चाहिए जो फाइलों और निर्देशिकाओं के मालिक के रूप में है। उबंटू में आईडी www-डेटा के तहत अपाचे चलता है। वह आईडी उस समूह का सदस्य होना चाहिए जिसके लिए अनुमतियाँ निर्दिष्ट हैं।
उस निर्देशिका को देने के लिए जिसमें आप फाइलों के कंटेंट को उचित अधिकार बदलना चाहते हैं, स्टेटमेंट निष्पादित करें:
find %DIR% -type d -exec chmod 770 {} \;
.यह ओपी के सवाल में निहित होगा कि निर्देशिका% ROOT% / डेटाबेस की अनुमतियों को तदनुसार बदला जाना चाहिए। यह महत्वपूर्ण है कि उस निर्देशिका के भीतर ऐसी फाइलें न हों, जिन्हें कभी बदला नहीं जाए, या हटाया न जाए। यह उन फ़ाइलों के लिए एक अलग निर्देशिका बनाने के लिए सबसे अच्छा अभ्यास है जिनकी सामग्री को बदलना होगा।
डायरेक्टरी के लिए रीडिंग परमिशन (4) का मतलब है डायरेक्टरी के भीतर सभी फाइल और डायरेक्टरी को अपने मेटाडेटा के साथ कलेक्ट करना। लिखने की अनुमति (2) निर्देशिका की सामग्री को बदलने की अनुमति देती है। फ़ाइलों को जोड़ना और हटाना, अनुमतियाँ बदलना आदि .. निष्पादन की अनुमति (1) का मतलब है कि आपको उस निर्देशिका में जाने का अधिकार है। बाद के बिना निर्देशिका में गहराई तक जाना असंभव है। वेबसर्वर को फ़ाइल की सामग्री को बदलते समय अनुमतियों को पढ़ने, लिखने और निष्पादित करने की आवश्यकता होती है। इसके लिए समूह को अंक 7 की आवश्यकता है।
दूसरा कथन ओपी के प्रश्न में है:
find %DOCUMENT_ROOT%/database -type f -exec chmod 760 {} \;
दस्तावेज़ को पढ़ने और लिखने में सक्षम होने के लिए आवश्यक है, लेकिन फ़ाइल को निष्पादित करना आवश्यक नहीं है। 7 फाइलों के मालिक को, 6 को समूह को दिया जाता है। वेबसर्वर को अपनी सामग्री को बदलने के लिए फ़ाइल को निष्पादित करने की अनुमति की आवश्यकता नहीं है। उन लिखने की अनुमति केवल उस निर्देशिका में फ़ाइलों को दी जानी चाहिए।
अन्य सभी उपयोगकर्ताओं को कोई अनुमति नहीं दी जानी चाहिए।
उन निर्देशिकाओं के लिए जिन्हें इसकी फ़ाइलों को बदलने की आवश्यकता नहीं है, वे 5 पर्याप्त की समूह अनुमतियाँ हैं। अनुमतियों और कुछ उदाहरणों के बारे में प्रलेखन:
https://wiki.debian.org/Permissions
https://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions
http://www.linux.org/threads/file-permissions-chmod.4094/
php.ini
फ़ाइल के माध्यम से ऐसी किसी चीज़ के लिए देखा है जो फ़ाइल एक्सेस से इनकार कर सकती है?