2013-01-02 11 views
7

मेरे पास एक निश्चित फ़ोल्डर में एक php स्क्रिप्ट अपलोड करने वाली फ़ाइलें हैं, वर्तमान में वे 'psacln' समूह के रूप में अपलोड कर रहे हैं, ताकि मैं एफ़टीपी के माध्यम से फ़ाइलों को हटा सकूं। जब PHP फास्टसीजीआई के रूप में चल रहा था, तो यह सब ठीक काम कर रहा था, मुझे काम करने के लिए PHP विस्तार प्राप्त करने के लिए PHP को अपाचे मॉड्यूल के रूप में चलाने के लिए बदलना पड़ा। लेकिन अब मैं PHP स्क्रिप्ट के माध्यम से फ़ाइलों को हटा नहीं सकता क्योंकि अनुमति अस्वीकार कर दी गई है। मुझे लगता है क्योंकि अब समूह 'अपाचे' 'psacln' से संबंधित फ़ाइल को हटाने की कोशिश कर रहा है। मैं उन फ़ाइलों को हटाने के लिए अपाचे को कैसे अनुमति दूं?उपयोगकर्ता समूह फ़ाइल अपलोड अपाचे में अपाचे जोड़ना

संपादित करें: ls -alF

drwxr-xr-x 2 fugitiveink psacln 4096 Nov 13 14:05 92/ 
drwxr-xr-x 2 fugitiveink psacln 4096 Nov 13 06:57 93/ 
drwxr-xr-x 2 fugitiveink psacln 4096 Nov 13 14:12 95/ 
drwxr-xr-x 2 fugitiveink psacln 4096 Dec 21 18:56 96/ 
drwxr-xr-x 2 fugitiveink psacln 4096 Dec 21 08:30 97/ 
drwxr-xr-x 2 fugitiveink psacln 4096 Nov 13 14:26 98/ 
drwxr-xr-x 2 fugitiveink psacln 4096 Nov 13 14:28 99/ 
+0

कम से कम आपको रूट/सूडो – Raptor

+0

के साथ "अपाचे" समूह के अधिकार देना होगा, आपके पास अपाचे उपयोगकर्ता समूह रखने के लिए मूल फ़ोल्डर होना चाहिए और यह निष्पादन योग्य होना चाहिए। – Sahal

+0

कौन सी लिनक्स वी? – Sahal

उत्तर

13

मुझे लगता है कि आपके पास इस प्रणाली के लिए खोल और रूट पहुंच है। यदि ऐसा है, तो आप /etc/group फ़ाइल में अपाचे उपयोगकर्ता (आमतौर पर apache या www-data) जोड़ने का प्रयास कर सकते हैं।

ऐसा करने का उचित तरीका usermod का उपयोग करना है, हालांकि मैं आमतौर पर फ़ाइल को सीधे संपादित करता हूं।

संक्षेप में यदि आपके अपाचे उपयोगकर्ता apache है, कोशिश:

sudo usermod apache --append --groups psacln 

यह मूलतः किसी भी फाइल & निर्देशिका कि psacln समूह के स्वामित्व में हैं करने के लिए अपाचे उपयोगकर्ता पहुँच देता है।

यदि यह काम नहीं करता है, तो फ़ाइल अनुमतियों (ls -alF) के साथ अपनी निर्देशिका का एक उदाहरण पोस्ट करें और हम इससे काम कर सकते हैं।

संपादित करें: समूहों

सीधे संपादित करने के लिए नैनो का उपयोग कर फ़ाइल (साथ जो भी संपादक आप आरामदायक महसूस स्थानापन्न):

sudo nano /etc/groups 

और psacln समूह खोजने के लिए और apache उपयोगकर्ता जोड़ें:

psacln:x:130:apache 

ध्यान दें कि ग्रिड (130) निस्संदेह अलग होगा।

+0

काम नहीं किया, php' apache: apache' 'usermod के रूप में चल रहा है: उपयोगकर्ता psacln मौजूद नहीं है ' – keeg

+0

जब आप 'सूडो समूह psacln' चलाते हैं तो आपको क्या मिलता है? साथ ही आप अपनी निर्देशिका सूची संपादन में '.' निर्देशिका भी शामिल कर सकते हैं। – hafichuk

+0

'आईडी: psacln: ऐसा कोई उपयोगकर्ता नहीं' – keeg

-4

(सभी उपयोगकर्ताओं के लिए WRX) 777 पर अपलोड निर्देशिका पर अनुमतियां सेट करें। क्या आप अभी भी नई फाइलें अपलोड कर सकते हैं? यदि आप कर सकते हैं, तो आप फ़ाइलों को हटाने में सक्षम होना चाहिए।

+0

आपको रिकर्सिव अनुमति सेट अप करने की आवश्यकता है। अभिभावक फ़ोल्डर में भी अनुमति होनी चाहिए। – Sahal

+0

यदि आप अन्य उपयोगकर्ताओं के साथ सर्वर साझा नहीं करते हैं, तो 777 सुरक्षित अनुमतियां होंगी। चूंकि आपके पास बाल निर्देशिकाएं हैं, इसलिए उन्हें 777 की अनुमति भी होगी। दिखाए गए निर्देशिका से 'chmod -R a + w .'। यदि यह काम नहीं करता है तो आप इसे हमेशा वापस बदल सकते हैं। यदि आप psacln समूह में अपाचे जोड़ते हैं तो आपको समूह लिखने की अनुमति सेट करने की आवश्यकता होगी, 'chmod -R g + w .' –

संबंधित मुद्दे