एपाचे दस्तावेज़ रूट के लिए सर्वश्रेष्ठ अनुमति / स्वामित्व


14

मुझे अपाचे दस्तावेज़ रूट की सही अनुमति या स्वामित्व सेट करने में कुछ मदद चाहिए। यहाँ मुझे क्या चाहिए:

  • में संग्रहीत विभिन्न वेबसाइट /var/www/html/<site>
  • दो उपयोगकर्ताओं को ssh के माध्यम से वेबसाइटों को अपडेट / प्रबंधित करना चाहिए
  • स्वामित्व अपाचे उपयोगकर्ता (सुरक्षा के लिए) से भिन्न होना चाहिए

मैं यह कैसे कर सकता हूँ? फिलहाल सभी फाइलें विश्व-लेखन योग्य हैं, जो अच्छा नहीं है। सर्वर CentOS 5.5 चलाता है

धन्यवाद


एक docroot हासिल करने के लिए अन्य विकल्पों के साथ एक अधिक विस्तृत जवाब के लिए, देखें serverfault.com/questions/357108/...
क्विन Comendant

मुझे लगता है कि यह एक अलग स्थान में प्रत्येक वेबसाइट स्टोर करने के लिए बेहतर है तो प्रत्येक सिस्टम प्रशासक उपयोगकर्ता के स्वामित्व वाले केवल अपनी वेबसाइट (DocumentRoot, उपयोग 2 आभासी मेजबान पर दोनों डाल नहीं है) और अपाचे समूह के रूप में दोनों वेबसाइटों निर्देशिका के समूह स्वामी सेट
एकाउंटेंट

जवाबों:


22

एक नया समूह बनाएं

groupadd webadmin

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

usermod -a -G webadmin user1
usermod -a -G webadmin user2

साइटों निर्देशिका का स्वामित्व बदलें

chown root:webadmin /var/www/html/

साइट निर्देशिका की अनुमतियाँ बदलें

chmod 2775 /var/www/html/ -R

अब कोई भी फाइलों को (अपाचे उपयोगकर्ता सहित) पढ़ सकता है, लेकिन केवल रूट और वेबडमिन अपनी सामग्री को संशोधित कर सकते हैं।


वह अच्छा दिखता है। लेकिन क्या होगा अगर कोई उपयोगकर्ता नई फ़ाइलें बनाता है या अपडेट की गई फ़ाइलों की प्रतिलिपि बनाता है। क्या उन अनुमतियों को स्वचालित रूप से लागू किया जाता है? या उसे हर बार चोदने और चोदने की ज़रूरत है?
मार्को

कॉपी की गई फाइलें अनुमति / स्वामित्व बनाए रखती हैं। नई फ़ाइलों के लिए डिफ़ॉल्ट फ़ाइल अनुमतियां umaskकमांड द्वारा नियंत्रित की जाती हैं । अधिक जानकारी यहाँ osr507doc.sco.com/en/OSUserG/_default_perms_new_file.html
एंडी

3
आप नई फाइलों के साथ मदद करने के लिए dir setgid webadmin बना सकते हैं
कोवनेर

1
^ +1। इसका त्वरित तरीका होगा: >> chmod 2775 -R / var / www / html /
जेम्स ब्रॉडहेड

@ जेम्स टा, अद्यतन
एंडी

2

मैं -o एसीएल के साथ विभाजन को माउंट करना पसंद करता हूं। यह आपको केवल उपयोगकर्ता-समूह-अन्य अनुमतियों को निर्दिष्ट करने के बजाय, फाइलों और फ़ोल्डरों पर सेट किए गए ठीक-ठाक अनुमतियों को देने के लिए सेटफेकल कमांड का उपयोग करने की अनुमति देता है।

तो acl को / etc / fstab में अपनी विभाजन रेखा पर रखें, या माउंट -o रीमाउंट, acl / mnt / xy के साथ रिमाउंट करें, और फिर किसी को भी अपनी वेब निर्देशिका का स्वामित्व दें: कोई नहीं। 770 से Chmod, और setfacl का उपयोग केवल उन फ़ोल्डरों पर लिखने की अनुमति देने के लिए करें जिनकी आवश्यकता है, उदा। www-data दें (या उपयोगकर्ता आपके वेबसर्वर के रूप में चलता है) अपलोड फ़ोल्डर के लिए अनुमतियाँ लिखें, और पूरी निर्देशिका के लिए अपने स्वयं के उपयोगकर्ता को लिखित अनुमति दें।

mkdir dir
chown nobody:nobody dir
setfacl -m u:www-data:r-x,d:u:www-data:r-x dir
setfacl -m u:www-data:rwx,d:u:www-data:rwx dir/upload
setfacl -m u:youruser:rwx,d:u:youruser:rwx dir

अब कोई भी आपकी फ़ाइलों को, आपके वेबसर्वर और अपने स्वयं के उपयोगकर्ता के अलावा नहीं पढ़ सकता है। आप फ़ोल्डर में हर फ़ाइल को लिख सकते हैं, और वेबसर्वर केवल अपलोड फ़ोल्डर में लिख सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.