एफ़टीपी और अपाचे अनुमति मुद्दे


10

Im करने के लिए मुद्दों के रूप में जो उपयोगकर्ता मेरे www निर्देशिका चाहिए - ftp या apache? जब FTP उपयोगकर्ता के लिए सेट किया जाता है, तो उपयोगकर्ता फ़ाइलों को जोड़ सकता है, हटा सकता है और आसानी से संशोधित कर सकता है, लेकिन php फ़ाइल सिस्टम क्रियाएं अनुमति से वंचित त्रुटियों को उत्पन्न करती हैं (क्योंकि वे उपयोगकर्ता को अपाचे होने की आवश्यकता होती हैं)। यदि फिर भी, www निर्देशिका को अपाचे के लिए चुना जाता है, तो ftpuser फ़ाइल संशोधन और विलोपन जैसे कुछ कार्य करने में सक्षम हो जाएगा। किसी को भी कभी इसी तरह के मुद्दे का सामना करना पड़ा? ठीक क्या है? धन्यवाद

जवाबों:


12

यह वह है जिसके लिए समूह हैं।

आप ftpउपयोगकर्ता को apacheसमूह में जोड़ सकते हैं , और इसके विपरीत। या, और भी बेहतर, आप उन्हें तीसरे समूह में जोड़ सकते हैं जो आप विशेष रूप से इस उद्देश्य के लिए बनाते हैं।

जैसे

# ग्रुपडैग माइग्रुप
# useradd -G mygroup ftp
# useradd -G mygroup apache
# chown -R: mygroup / var / www
# chmod -R g + rw / var / www

वे आदेश निम्नलिखित करते हैं:

  1. नया समूह 'माइग्रुप' बनाता है
  2. उपयोगकर्ता को mygroup में ftp जोड़ता है
  3. अपाचे उपयोगकर्ता को माइग्रुप में जोड़ता है
  4. Mygroup करने के लिए / var / www / की सामग्री के लिए पुन: सामूहिक रूप से समूह का स्वामित्व देता है
  5. Recursively अनुदान समूह / var / www / की सामग्री के लिए परमिट पढ़ने और लिखने

आपको बस यह सुनिश्चित करने की आवश्यकता है कि भविष्य में जोड़ी गई फाइलें 'mygroup' समूह की हैं और इन्हें पढ़ने / लिखने के लिए अपाचे और ftp दोनों की उपयुक्त अनुमति है।


3
find /var/www -type d -print0 | xargs -0 chmod g+s /var/www002 के एक umask के साथ " " संयोजन यह सुनिश्चित करेगा कि नई फाइलें और निर्देशिकाएं / var / www में समूह के लिए उपयुक्त समूह और अनुमतियाँ आर / डब्ल्यू का उपयोग करें। कई लिनक्स वितरण अब 002 के एक डिंब के लिए डिफ़ॉल्ट हैं (वही जो हर नए उपयोगकर्ता के लिए एक नया समूह बनाने के लिए डिफ़ॉल्ट हैं)
freiheit

यह जवाब पूरी तरह से काम करता है! लेकिन मुझे एक समस्या हो रही है कि उपयोगकर्ता अभी भी सभी अन्य निर्देशिकाओं को बाहर देख सकता var/wwwहै क्या इसे प्रतिबंधित करने की कोई विधि है?
मैक्सिमम

3
यदि उपयोगकर्ता पहले से मौजूद हैं (तो CentOS 7 पर) लाइन्स 2 और 3 काम नहीं करेंगे। इस स्थिति में usermodउदाहरण के लिएusermod -G mygroup ftp
निक

सरल, आत्म-व्याख्यात्मक, समझने योग्य! उत्तम! धन्यवाद, @hobodave!
GTodorov

4

आपकी अधिकांश सामग्री को अपाचे के अलावा किसी अन्य उपयोगकर्ता के स्वामित्व में होना चाहिए। अपनी सामग्री को अपडेट करने के लिए अपने उपयोग एफ़टीपी को मानते हुए, आप ftp: apache के स्वामित्व वाली सभी फ़ाइलों को सेट कर सकते हैं। मेरा सुझाव है कि ftp के बजाय SFTP के लिए SCP का उपयोग किया जाएगा। फ़ाइलें 644 या 640 और निर्देशिकाओं की अनुमतियाँ 755 या 750 होनी चाहिए।

फ़ाइलों और निर्देशिकाओं के लिए समूह लिखने की पहुंच को जोड़ने के लिए एप्लिकेशन को लिखना होगा।


0

मुझे एक php पेज के साथ एक ऐसी ही समस्या हुई थी जो कि एक सर्वर पर एक फ़ोल्डर को एक अलग नाम से कॉपी करेगा। मैंने इसे php safe mode को बंद करके ठीक किया।


2
PHP सुरक्षित मोड एक कारण के लिए है। इसे बंद करना बिल्कुल भी अच्छा विचार नहीं है।
user9517 8
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.