/ var / www के लिए डिफ़ॉल्ट अनुमतियाँ


36

मैं एक फ़ाइल खोलने और उसे /var/wwwफ़ोल्डर में PHP के साथ लिखने की कोशिश कर रहा था, लेकिन यह काम नहीं कर रहा था इसलिए मैंने किया

sudo chmod 777 /var/www

अब मैं /var/wwwडिफ़ॉल्ट के लिए अनुमतियाँ सेट करना चाहता हूँ ।
डिफ़ॉल्ट अनुमतियाँ क्या हैं /var/www?


मैं सर्वरफॉल्ट का सदस्य नहीं हूं इसलिए मैं टिप्पणी नहीं कर सकता या उत्तर को रद्द नहीं कर सकता। लेकिन यह पोस्ट वास्तव में इसे नाख़ून देता है: serverfault.com/questions/357108/…
Donato

विकी पेज के अंदर डॉक्टर की जाँच करने का प्रयास करें: फ़ाइल और निर्देशिका स्वामित्व और वेब सामग्री के लिए अनुमतियाँ।
13

जवाबों:


29

इस फ़ोल्डर की अनुमतियाँ हैं:

chmod 755 /var/www/

और फ़ोल्डर के अंदर की फाइलें हैं:

chmod 644 /var/www/file

43

/var/wwwस्वयं के लिए डिफ़ॉल्ट अनुमति एक मानक मानक है: स्वामी root:rootऔर मॉड 755

अंदर की किसी भी चीज़ के लिए/var/www , यह दुर्लभ निर्देशिकाओं में से एक है, जहाँ आपको अपने लिए निर्णय लेने का सौभाग्य प्राप्त है कि इसमें क्या रखा जाना चाहिए और इसमें सब कुछ क्या होना चाहिए। लेकिन जो सबसे अधिक समझ में आता है वह है:

  • अधिकांश फाइलें जो भी उपयोगकर्ता या समूह द्वारा लिखी जानी चाहिए वे सबसे अधिक लिखने योग्य हैं। आप उन्हें अपने उपयोगकर्ता खाते के स्वामित्व में सेट कर सकते हैं। या अपने डेवलपर्स के लिए एक कस्टम समूह सेट करें। या अगर फ़ाइलों को शायद ही कभी संशोधित किया जाएगा और आप अच्छी सुरक्षा चाहते हैं, तो आप root:rootदुर्लभ अवसरों पर केवल सूडो के साथ जा सकते हैं और उन्हें संशोधित किया जाएगा।

  • अधिकांश फाइलें विश्व-लेखन योग्य नहीं होनी चाहिए । तो, 644फ़ाइलों के लिए, और 755निर्देशिका के लिए उपयुक्त (या है 664और 775आप एक समूह लेखन पहुँच देने के लिए चाहते हैं)।

  • इसे वेब सर्वर द्वारा लिखने योग्य होने के लिए किसी भी सेट करने की अनुशंसा नहीं की जाती है, अर्थात www-data, आपकी वेब स्क्रिप्ट को लिखने के लिए सक्षम होने के लिए किसी भी विशिष्ट फ़ाइलों को छोड़कर। यदि ऐसा है, तो उन फ़ाइलों के उपयोगकर्ता या समूह को सेट करने से बेहतर www-dataहै कि उन्हें विश्व-योग्य बनाया जाए। ध्यान दें कि किसी भी समय www-dataउपयोगकर्ता वेब रूट के भीतर किसी भी फ़ाइल को लिख सकता है, चाहे वह उन फ़ाइलों पर उपयोगकर्ता या समूह को सेट करके हो, या उन्हें विश्व-लेखन योग्य बना दे, यह एक संभावित सुरक्षा समस्या है। विश्व-लेखन सिर्फ दो से बदतर है।


2
सबसे निर्णायक उत्तर के रूप में यहाँ प्रस्तुत किया गया
क्रिस

2
अब, यह एक बहुत अच्छा जवाब है। :)
बानागो

जवाब में सुधार करने के लिए, उचित परमिशन सेट करने के लिए कमांड जोड़ने पर विचार करें
अब्राहम मर्सियानो बेंज़ादोन

क्या एक पुनरावर्ती कार्य है जो सभी फ़ोल्डरों को 755 में बदल सकता है और var / www के अंदर फ़ाइलों को 644 में बदल सकता है?
मैथ्यू सेमिक

हां: stackoverflow.com/questions/18817744/… (दूसरा उत्तर स्वीकृत IMO की तुलना में अधिक सुरुचिपूर्ण है)
thomasrutter

9

सुनिश्चित करें कि समूह '/ var / www' पर www-data है।

sudo chgrp www-data /var/www

इसे लिखने योग्य बनाओ

sudo chmod 775 /var/www

सबफ़ोल्डर्स के लिए समूह आईडी सेट करें

sudo chmod g+s /var/www

समूह में अपना उपयोगकर्ता नाम जोड़ें

sudo useradd -G www-data [USERNAME]
OR
usermod -a -G www-data [USERNAME]

खुद को स्वामित्व दें

sudo chown [USERNAME] /var/www/

9
यह / var / www के लिए डिफ़ॉल्ट अनुमति नहीं है, और यह www-डेटा द्वारा संपूर्ण वेब रूट को लिखने योग्य बनाने के लिए एक बहुत बुरा विचार सुरक्षा-वार है। ऐसा केवल तब होता है जब वेब स्क्रिप्ट को विशेष फ़ाइलों तक लिखने की आवश्यकता होती है, और यहां तक ​​कि ऐसा केवल उन विशेष फ़ाइलों तक ही होता है, संपूर्ण वेब रूट पर नहीं। और ओपी ने यह नहीं कहा कि उसे ऐसा करने की आवश्यकता है, वैसे भी, इसलिए यह बिल्कुल भी सिफारिश नहीं होनी चाहिए।
थोमसट्रेटर

3
इसके अलावा www-data समूह में खुद को जोड़ना और उस समूह के साथ उस तरीके से व्यवहार करना बहुत बुरा विचार है। आपने ऐसा करने के लिए कहां पढ़ा? यह विशेष रूप से बुरी सलाह है, लगभग दुर्भावनापूर्ण रूप से। जब आप किसी चीज को समूह का उपयोग देने की आवश्यकता हो तो अपने स्वयं के समूह बनाएं: उन गैर-समूहित समूहों का फिर से उपयोग न करें जो डेमॉन द्वारा आंतरिक उपयोग के लिए अभिप्रेत हैं।
थोमसट्रेटर

1
@neon_overload आप क्या सलाह देते हैं
aWebDeveloper

1
वास्तव में, आपकी क्या सलाह होगी @neon_overload?
बानागो

1
@ बानागो व्यक्तिशालिका मैं एक +1 :)
कामिल

-2
sudo adduser $USER www-data
sudo chown root:root /var/www


sudo chown -R $USER:www-data /var/www/*
sudo chmod -R 755 /var/www

4
सामग्री के आधार पर, -Rयहां ध्वज का उपयोग करना हानिकारक हो सकता है। चूंकि ओपी ने -Rध्वज का उपयोग नहीं किया , इसलिए हमें उनके द्वारा बनाई गई गलत अनुमतियों को सुधारने के लिए अनुशंसा नहीं करनी चाहिए। -Rझंडा शायद ही कभी उपयोगी है!
ज़ाना
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.