/ Var / www / html के लिए अनुमतियाँ बदलना


12

मैंने कुछ समय के लिए इस विषय का अध्ययन किया है https://help.ubuntu.com/community/FilePien और इसे किसी कारण से काम नहीं मिल सकता है।

विशेष रूप से, इन पंक्तियों ने मुझे सबसे अधिक रुचि दी:

एक बार में एक निर्दिष्ट निर्देशिका के तहत प्रत्येक फ़ाइल और फ़ोल्डर की सभी अनुमतियों को बदलने के लिए, -R के साथ sudo chmod का उपयोग करें

$ sudo chmod 777 -R /path/to/someDirectory
$ ls -l
total 3
-rwxrwxrwx  1 user user 0 Nov 19 20:13 file1
drwxrwxrwx  2 user user 4096 Nov 19 20:13 folder
-rwxrwxrwx  1 user user 0 Nov 19 20:13 file2

यहाँ मैंने जो लिखा है:

mark@ubuntuserver:~$ sudo chmod 755 /var/www/html
mark@ubuntuserver:~$ ls -l
total 0

तब मैंने sftp में किसी भी परिवर्तन की जाँच की:

sftp> cd /
sftp> cd var/www/html
sftp> pwd
Remote working directory: /var/www/html
sftp> ls -l
-rw-r--r--    1 root     root        11321 Apr 10 20:07 index.html

आउटपुट से यह स्पष्ट है कि html निर्देशिका अभी भी रूट द्वारा केवल परिवर्तनीय है।

मैं इसे कैसे बदल सकता हूं कि मुझे (गैर-रूट) HTML निर्देशिका में फाइलें अपलोड की जा सकती हैं?

मैंने भी परीक्षण किया:

एक फ़ाइल के मालिक को चाउन कमांड का उपयोग करके बदला जा सकता है। उदाहरण के लिए, फॉक्स फाइल के मालिक को टक्स में बदलने के लिए:

$ sudo chown tux foobar

मैंने सर्वर से टाइप किया:

sudo chown mark owner

कोई प्रभाव नहीं।


आप पुनरावर्ती के लिए -r विकल्प याद कर रहे हैं। और 777 है-जब भी सही बदलाव करने के लिए (जब तक कि आप टी विकल्प (चिपचिपा सा) भी सेट नहीं करते हैं।) प्रश्न: डीआर 2 कमांड में खाली क्यों है और 3 डी कमांड पर index.html से भरा है? वे कमांड नहीं हैं समान स्थितियों के साथ जारी किया गया है। sudo chown mark ownerवह क्या करना है? आप कैसे "स्वामी" नामक फ़ाइल या डायर का परिचय देते हैं?
रिनविंड

किसी फ़ाइल या निर्देशिका का स्वामित्व लेने के लिए, आपको यह निर्दिष्ट करना होगा कि नया स्वामी कौन है, समूह (वैकल्पिक) और फ़ाइल या निर्देशिका। उदाहरण के लिए, sudo chown user:user mydocsजहां नया मालिक और समूह है userऔर जिस निर्देशिका को आप ले रहे हैं, वह हैmydocs
गन्सहेम

1
इस स्थिति में मैं निर्देशिका के स्वामित्व को अकेला छोड़ दूँगा, उस विशिष्ट निर्देशिका के लिए अनुमतियों को संशोधित करने के लिए ताकि आप इसे लिख सकें, पढ़ने / लिखने की अनुमति, कमांडsudo chmod 766 -r /var/www/html
Gansheim

@ रिनविंड ऐसा लगता है जैसे उसने ls -lअपने होम डायरेक्टरी से कमांड जारी किया हो । @ मार्क जब तक आप उस निर्देशिका में नहीं हैं जिसे आप देखने / हेरफेर करने की कोशिश कर रहे हैं, आपको पथ निर्दिष्ट करने की आवश्यकता है, इस मामले में आपको कमांड जारी करनी चाहिएls -l /var/www/html
Gansheim

1
जैसे कि लोगों ने बताया है, chmodअनुमति बदल जाती है, chownमालिक बदल जाता है। 755 प्रथम अंक (7) का अर्थ है कि 'स्वामी' के पास सभी अनुमतियां हैं, जबकि दूसरे और अंतिम अंक (5) का अर्थ है कि 'समूह' और 'अन्य' दोनों ने अनुमतियों को पढ़ा और निष्पादित किया है। आप अपने उपयोगकर्ता को समूह में जोड़ सकते हैं और समूह को पूर्ण अनुमति भी दे सकते हैं ताकि आपको कई बदलाव न करने पड़ें।
शमूएल

जवाबों:


11

इस मामले में मैं निर्देशिका स्वामित्व को अकेला छोड़ दूंगा। उस विशिष्ट निर्देशिका के लिए अनुमतियों को संशोधित करने के लिए ताकि आप उसे लिख सकें, पठन / लेखन अनुमतियाँ सेट कर सकें, जो कमांड हो रही है sudo chmod 766 -R /var/www/html। यह 7स्वामी के लिए पूर्ण अनुमतियाँ प्रदान करेगा , 6समूह के लिए पढ़ना / लिखना , और 6पुनरावर्ती रूप से सभी के लिए पढ़ना / लिखना ।


9

आप खुद को उस निर्देशिका का मालिक बना सकते हैं

sudo chown pi /var/www/html

लेकिन आप निश्चित रूप से अनुमतियाँ सेट करना चाहते हैं

chmod 755 -R /var/www/html

-R (पुनरावर्ती) विकल्प का उपयोग करना सुनिश्चित करेगा कि आपकी स्क्रिप्ट फाइलें और आपकी .htaccess फ़ाइल सभी एक ही सेट हैं।


जब भी आप एक नई स्क्रिप्ट जोड़ते हैं, तो इसे इस तरह भी सेट करना सुनिश्चित करें।

chmod 755 /var/www/html/cgi-bin/newscript.cgi

ध्यान दें कि कुछ सीजीआई कार्यक्रमों की अपनी आवश्यकताएं हैं, जैसे कि

बेस्टडम वेबसाइट विज़िटर लॉगर + हिट काउंटर

अंश:

टेक्स्ट एडिटर में bdlogger.pl फ़ाइल खोलें और यदि आवश्यक हो, तो शेबंग लाइन को संशोधित करें।

सर्वर पर, अपने cgi- बिन निर्देशिका के तहत एक bdlogger उपनिर्देशिका बनाएं और इसमें CCC मोड का उपयोग करके स्क्रिप्ट और डेटा फ़ाइलों को एफ़टीपी करें।

यदि आप UNIX / Linux सर्वर का उपयोग कर रहे हैं, तो फ़ाइलों को चोद दें:

bdlogger.pl to 755
all other files to 666

अपने वेब पेज पर निम्नलिखित एसएसआई निर्देश टैग जोड़ें:

<!--#exec cgi="/cgi-bin/bdlogger/bdlogger.pl" -->

5

आपको www फ़ोल्डर के मालिक को 'रूट' से 'मी' पर सेट करना होगा।

अपने टर्मिनल से, कमांड चलाएँ:

sudo chown -R your_system_username /var/www

मुझे भरोसा है ये काम करेगा!!


2

जबकि उपरोक्त उत्तर बहुत अधिक चाल करेंगे, यह एक अधिक संपूर्ण दृष्टिकोण है। संभावना है कि आप / var / www / html के अंदर फ़ाइलों को संशोधित करना चाहते हैं क्योंकि आप सेवा करने के लिए एक वेब ऐप जोड़ना चाहते हैं Apache2। इसे प्राप्त करने के लिए आपको निम्न चरणों की आवश्यकता है

  1. उपयोगकर्ता को उपयोगकर्ता समूह में जोड़ें www-dataजिसमें फ़ोल्डर का डिफ़ॉल्ट स्वामित्व है। क्यों? यदि आप गतिशील रूप से वेब ऐप पर कोई भी परिवर्तन करने का इरादा रखते हैं, तो भी, यदि आपको इसकी अनुमति है wordpress, तो आपको इस समूह के उपयोगकर्ताओं को लिखने की अनुमति की आवश्यकता होगी। ऐसा करने के लिए बस लिखें: sudo adduser username grouptoaddहमारे मामले में यह होगा sudo adduser username www-data
  2. आगे आपको कमांड read/write permissionsका उपयोग करके बदलना होगा chmod। याद रखें अब आप उपयोगकर्ता समूह का एक हिस्सा हैं और इसका उपयोग करके स्वामित्व बदलने की आवश्यकता नहीं है chown। यह बस चलाने के लिए: sudo chmod -R 766 directoryइस मामले में यह होगा sudo chmod -R 766 html। यदि आप स्पोर्टी महसूस कर रहे हैं, तो आप पूरी तरह से लिखने की अनुमति प्राप्त कर सकते हैं (777), जो इस बात पर निर्भर करता है कि आपका ऐप कितना सुरक्षित है।

इसका -Rमतलब है एक पुनरावर्ती कार्य, जिससे सभी उपनिर्देशिकाओं पर लागू होने की आज्ञा दी जा सके। मुझे उम्मीद है कि यह किसी की जरूरत में मदद करता है।

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