WordPress के लिए सही फ़ाइल अनुमति [बंद]


399

मैं यहाँ पर एक नज़र है, लेकिन सबसे अच्छा फ़ाइल अनुमति पर कोई विवरण नहीं मिला। मैं भी अधिक वर्डप्रेस के फार्म के सवालों में से कुछ पर एक दृष्टि डाली यहाँ भी लेकिन कोई भी व्यक्ति उस 777 चलता है स्पष्ट रूप से सुरक्षा में एक छोटे से सबक की जरूरत है।

संक्षेप में मेरा प्रश्न यह है। निम्नलिखित के लिए मेरे पास क्या अनुमति होनी चाहिए:

  1. सभी WordPress सामग्री को संग्रहीत करने वाला रूट फ़ोल्डर
  2. WP-व्यवस्थापक
  3. WP-सामग्री
  4. WP-शामिल

और फिर उन सभी फ़ोल्डरों में सभी फाइलें?


मूल रूप से, केवल Wordpress अपलोड फ़ोल्डर 777 होना चाहिए, लेकिन यह एक गंभीर सुरक्षा खतरा होगा। यदि आप Suphp सक्षम के साथ एक सर्वर का उपयोग करते हैं, तो मैन्युअल रूप से अनुमतियों को संशोधित करने की कोई आवश्यकता नहीं है।
अली एफ

4
मैं इस विषय को ऑफ-टॉपिक के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि यह टैग-विकी टैग के अनुसार ऑफ-टॉपिक है: "ऑफ-टॉपिक विषयों में थीम डेवलपमेंट, वर्डप्रेस एडमिनिस्ट्रेशन, मैनेजमेंट बेस्ट प्रैक्टिस, सर्वर कॉन्फ़िगरेशन, आदि के बारे में शामिल हैं"
एड्रियन

जवाबों:


499

जब आप WP (वेबसर्वर) सेटअप करते हैं, तो आपको फ़ाइलों तक पहुंच लिखने की आवश्यकता हो सकती है। इसलिए एक्सेस अधिकारों को ढीला करने की आवश्यकता हो सकती है।

chown www-data:www-data  -R * # Let Apache be owner
find . -type d -exec chmod 755 {} \;  # Change directory permissions rwxr-xr-x
find . -type f -exec chmod 644 {} \;  # Change file permissions rw-r--r--

सेटअप के बाद आपको एक्सेस अधिकारों को कड़ा करना चाहिए , हार्डनिंग वर्डप्रेस के अनुसार wp-content को छोड़कर सभी फाइलें केवल आपके कंप्यूटर अकाउंट द्वारा ही राइट की जानी चाहिए। wp-content को www-data द्वारा भी योग्य होना चाहिए ।

chown <username>:<username>  -R * # Let your useraccount be owner
chown www-data:www-data wp-content # Let apache be owner of wp-content

हो सकता है कि आप बाद में wp-content में सामग्री बदलना चाहें। इस मामले में आप कर सकते थे

  • अस्थायी रूप से उपयोगकर्ता को www-data के साथ su,
  • wp-content group को 775 एक्सेस लिखें और ग्रुप www-data या से जुड़ें
  • अपने उपयोगकर्ता को ACLs का उपयोग करके फ़ोल्डर तक पहुँच अधिकार प्रदान करें ।

जो कुछ भी आप करते हैं, सुनिश्चित करें कि फाइलों में www-data की rw अनुमतियां हैं ।


2
कोर्नेल नीचे एक ऐसा आधिकारिक लिंक देता है। यह भी देखें कोडेक्स.wordpress.org/Changing_File_Pims , Apache's doc httpd.apache.org/docs/2.2/misc/security_tips.html , और इस विषय पर बहुत अधिक Google खोज। लेकिन सामान्य मामले में, जब संदेह होता है, तो कोई लिखित पहुँच (और निश्चित रूप से कोई स्वामित्व नहीं) दें और केस-बाय-केस आधार पर ढीला करें, न कि विपरीत (कम से कम विशेषाधिकार का सिद्धांत जो आप यहां उल्लंघन कर रहे हैं)।
कालिमो

22
यदि अनुमतियाँ बदले बिना काम नहीं होता है तो ऑटो-अपडेट सुविधा क्यों है ??
मलहल

6
@ ManuelSchneid3r, मैं wp-content के तहत कुछ PHP फाइलें देखता हूं, क्या ये वास्तव में लिखने योग्य हैं www-data??? यह वास्तव में पूरी तरह से सुरक्षित नहीं लगता है।
एलेक्सिस विलके

12
यह समाधान वर्डप्रेस को 'स्वचालित सुरक्षा अद्यतन' स्थापित करने से रोकेगा। आपको प्रत्येक मामूली वर्डप्रेस अपडेट के लिए उपरोक्त चरणों को मैन्युअल रूप से चलाने की आवश्यकता है।
जीरो

11
यह एक सुरक्षित कॉन्फ़िगरेशन नहीं है। इन फ़ाइलों पर रीड पर्मिशन सेट करने पर कोई प्रभाव नहीं पड़ता है जब अपाचे उपयोगकर्ता भी फाइलों का मालिक होता है! प्रयोग नहीं करें। Codex.wordpress.org/Changing_File_Pches का
PodTech.io

60

www-dataउपयोगकर्ता (जो इस मामले में वेब सर्वर उपयोगकर्ता है) के लिए सभी wp फ़ाइलों तक पूर्ण पहुँच देना खतरनाक हो सकता है। इसलिए ऐसा करें:

chown www-data:www-data -R *

यह उस समय उपयोगी हो सकता है जब आप वर्डप्रेस और इसके प्लग-इन को स्थापित या अपग्रेड कर रहे हों। लेकिन जब आप समाप्त कर लेते हैं तो वेब सर्वर के स्वामित्व वाली wp फाइलों को रखना अच्छा नहीं रह जाता है।

यह मूल रूप से वेब सर्वर को आपकी वेबसाइट में किसी भी फाइल को डालने या ओवरराइट करने की अनुमति देता है। इसका मतलब यह है कि अगर आपकी वेबसाइट में कुछ फाइलें डालने के लिए वेब सर्वर (या .php स्क्रिप्ट में एक सुरक्षा छेद) का उपयोग करने का प्रबंधन करता है, तो आपकी साइट पर कब्जा करने की संभावना है।

अपनी साइट को इस तरह के हमले से बचाने के लिए आपको निम्नलिखित करना चाहिए:

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

/

रूट वर्डप्रेस निर्देशिका: सभी फाइलें केवल आपके उपयोगकर्ता खाते के द्वारा ही योग्य होनी चाहिए, सिवाय .htaccess यदि आप चाहते हैं कि वर्डप्रेस आपके लिए स्वचालित रूप से फिर से लिखना उत्पन्न करे।

/wp-admin/

वर्डप्रेस प्रशासन क्षेत्र: सभी फाइलें केवल आपके उपयोगकर्ता खाते द्वारा ही लिखी जानी चाहिए।

/wp-includes/

वर्डप्रेस एप्लिकेशन लॉजिक का बड़ा हिस्सा: सभी फाइलें केवल आपके उपयोगकर्ता खाते द्वारा ही लिखी जानी चाहिए।

/wp-content/

उपयोगकर्ता द्वारा प्रदत्त सामग्री: आपके उपयोगकर्ता खाते और वेब सर्वर प्रक्रिया द्वारा लिखने योग्य है।

भीतर /wp-content/तुम पाओगे:

/wp-content/themes/

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

/wp-content/plugins/

प्लगइन फाइलें: सभी फाइलें केवल आपके उपयोगकर्ता खाते द्वारा ही लिखी जानी चाहिए।

अन्य निर्देशिकाएं जिनके साथ मौजूद हो सकती हैं, /wp-content/जो भी प्लगइन या विषयवस्तु द्वारा प्रलेखित होनी चाहिए, उनकी आवश्यकता है। अनुमतियाँ भिन्न हो सकती हैं।

स्रोत और अतिरिक्त जानकारी: http://codex.wordpress.org/Hardening_WordPress


आपके उपयोगकर्ता खाते द्वारा। साइट पर php स्क्रिप्ट को निष्पादित करने वाले उपयोगकर्ता का अर्थ है (आम तौर पर एपाचे उपयोगकर्ता)?
shasi kant

4
@ शशिकांत नहीं, अपाचे उपयोगकर्ता वह है जिसे वह "वेब सर्वर प्रक्रिया" के रूप में संदर्भित करता है। उपयोगकर्ता खाता आपका लिनक्स उपयोगकर्ता (ssh, ftp उपयोगकर्ता, आदि) है
डैनियल बैंग

इस उत्तर में और स्वीकृत उत्तर में, क्या उपयोगकर्ता (www-data नहीं) www-data समूह का हिस्सा होना चाहिए?
user658182

1
नहीं, वह पूरा बिंदु है।
पिओटर नवरोट

1
मेरे द्वारा कभी भी अनुभव की जाने वाली समस्या मैं अपना SSH "उपयोगकर्ता" / wp-content / plugins / का मालिक बना देता हूं, Wordpress व्यवस्थापक के भीतर से पूरी तरह से अनौपचारिक हो जाता है, निरंतर एफ़टीपी पॉप-अप दिनचर्या या अनुमति त्रुटियों के साथ। प्लगइन्स को न तो जोड़ सकते हैं और न ही अपडेट कर सकते हैं। केवल जब मैं www-data को wp-content का मालिक बनाता हूं, तो Wordpress Admin plugin कार्यक्षमता कार्य करता है। (उदाहरण: sudo chown www-data: www-data -R / var / www / html / wp-content /)
Heres2u

26

उन लोगों के लिए जिनके पास अपने होम फोल्डर के तहत वर्डप्रेस रूट फ़ोल्डर है:

** उबटन / अपाचे

  1. अपने उपयोगकर्ता को www-डेटा समूह में जोड़ें:

क्रेडाई अनुदान www-data समूह को लिखने की अनुमति देता है

आप usermodअपने उपयोगकर्ता को कॉल करना चाहते हैं । तो यह होगा:

sudo usermod -aG www-data yourUserName

** मान लिया गया कि www-dataसमूह मौजूद है

  1. अपने उपयोगकर्ता की जाँच करें www-dataसमूह में है:

    groups yourUserName

आपको कुछ इस तरह मिलना चाहिए:

youUserName : youUserGroupName www-data

** youUserGroupName आमतौर पर उपयोगकर्ता नाम के समान होता है

  1. अपने उपयोगकर्ता स्वामित्व को रखते हुए wp-content फ़ोल्डर के पुन: समूह स्वामित्व को बदल दें

    chown yourUserName:www-data -R youWebSiteFolder/wp-content/*

  2. निर्देशिका को youWebSiteFolder / wp-content / में बदलें

    cd youWebSiteFolder/wp-content

  3. लिखने की अनुमति सक्षम करने के लिए फ़ोल्डरों और उप-फ़ोल्डरों के समूह अनुमतियों को पुन: बदल दें:

    find . -type d -exec chmod -R 775 {} \;

** 0755 (rwxr-xr-x) से 0775 (rwxrwxr-x) में परिवर्तित किया गया है।

  1. लिखने की अनुमति को सक्षम करने के लिए फ़ाइलों और उप-फ़ाइलों की समूह अनुमतियों को पुन: बदल दें:

    find . -type f -exec chmod -R 664 {} \;

परिणाम कुछ इस तरह दिखना चाहिए:

WAS:
-rw-r--r--  1 yourUserName www-data  7192 Oct  4 00:03 filename.html
CHANGED TO:
-rw-rw-r--  1 yourUserName www-data  7192 Oct  4 00:03 filename.html

के बराबर:

chmod -R ug + rw foldername

अनुमतियाँ फ़ाइलों के लिए 664 या निर्देशिकाओं के लिए 775 जैसी होंगी।

पी एस अगर किसी को 'could not create directory'प्लगइन अपडेट करते समय त्रुटि का सामना करना पड़ता है , तो करें:
server@user:~/domainame.com$ sudo chown username:www-data -R wp-content
जब आप अपने डोमेन की जड़ में हों।
मान लिया जाये कि: wp-config.phpहै
स्थानीय होस्ट पर FTP साख
define('FS_METHOD','direct');


10
-1। आप नहीं चाहते हैं कि www-data, wp-content को छोड़कर, वर्डप्रेस फ़ाइलों तक पहुंच लिखे।
कैलिमो

775 wp-content में मदद करता है। फ़ाइलों के लिए 644, फ़ोल्डरों के लिए 755, और chown उपयोगकर्ता के साथ: www-data, मुझे कभी-कभी मीडिया अपलोड, प्लगइन अपडेट आदि के साथ समस्याएँ हो रही थीं, 775 wp-content को www-data: www-data के साथ-साथ बदलने की अनुमति देता है। , जो समस्या का समाधान करता है।
guylabbe.ca

जैसे-धीमे और अनावश्यक रूप से / chmod कमांड से -R निकालें।
एडम जिमेनेज़

20

इस https://wordpress.org/support/article/changing-file-permissions/ पर वर्डप्रेस प्रलेखन को पढ़ने के लिए सर्वश्रेष्ठ

  • सभी फ़ाइलों को वास्तविक उपयोगकर्ता के खाते के स्वामित्व में होना चाहिए, न कि httpd प्रक्रिया के लिए उपयोग किए गए उपयोगकर्ता खाते को
  • समूह स्वामित्व अप्रासंगिक है, जब तक कि वेब-सर्वर प्रक्रिया अनुमतियों की जाँच के लिए विशिष्ट समूह आवश्यकताएँ नहीं हैं। यह आमतौर पर मामला नहीं है।
  • सभी निर्देशिकाएं 755 या 750 होनी चाहिए।
  • सभी फ़ाइलें 644 या 640 होनी चाहिए। अपवाद: wp-config.php 440 या 400 होना चाहिए ताकि अन्य उपयोगकर्ताओं को इसे पढ़ने से रोका जा सके।
  • कोई भी निर्देशिका कभी भी 777 नहीं दी जानी चाहिए, यहां तक ​​कि निर्देशिका भी अपलोड करें। चूंकि php प्रक्रिया फाइलों के स्वामी के रूप में चल रही है, इसलिए इसे मालिकों की अनुमति मिल जाती है और यह 755 निर्देशिका में भी लिख सकता है।

4
यह सुनिश्चित नहीं है कि आप नीचे मतदान क्यों कर रहे हैं: यह लगभग ऐसा है जैसे लोग चाहते हैं कि शीर्ष उत्तर यह हो कि स्थापना असुरक्षित कैसे छोड़े !
बीकानेर

लिंक पुराना है। यहाँ नया: wordpress.org/support/article/changing-file-permissions और केवल वास्तविक डॉक्स को संदर्भित करने के लिए धन्यवाद!
हर

यदि wp-config.php 400 है, तो पेज लोड पर अपाचे को कैसे शामिल किया जाना चाहिए (इस प्रकार इसे पढ़ें)?
मार्टिन ब्रौन

14

मैंने इसके लिए अनुमतियां सेट की हैं:

    # Set all files and directories user and group to wp-user
    chown wp-user:wp-user -R *

    # Set uploads folder user and group to www-data
    chown www-data:www-data -R wp-content/uploads/

    # Set all directories permissions to 755
    find . -type d -exec chmod 755 {} \;

    # Set all files permissions to 644
    find . -type f -exec chmod 644 {} \;

मेरे मामले में मैंने वर्डप्रेस के लिए एक विशिष्ट उपयोगकर्ता बनाया जो अपाचे डिफ़ॉल्ट उपयोगकर्ता से अलग है जो वेब से उस उपयोगकर्ता के स्वामित्व वाली फ़ाइलों तक पहुंच को रोकते हैं।

फिर यह अपाचे उपयोगकर्ता को अपलोड फ़ोल्डर को संभालने की अनुमति देता है और अंत में पर्याप्त फ़ाइल और फ़ोल्डर अनुमतियों को सुरक्षित करता है।

संपादित

यदि आप W3C कुल कैश का उपयोग कर रहे हैं, तो आपको अगला भी करना चाहिए:

rm -rf wp-content/cache/config
rm -rf wp-content/cache/object
rm -rf wp-content/cache/db
rm -rf wp-content/cache/minify
rm -rf wp-content/cache/page_enhanced

फिर यह काम करेगा!

संपादित

वर्डप्रेस साइटों को विकसित करने के बाद मैं प्रति वातावरण में अलग-अलग फ़ाइल अनुमतियों की सिफारिश करूंगा:

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

# Set uploads folder user and group to www-data
chown www-data:www-data -R wp-content/uploads/

www-data: www-data = apache या nginx उपयोगकर्ता और समूह

स्टेजिंग उसी उत्पादन अनुमतियों को साझा करेगी क्योंकि यह उसका एक क्लोन होना चाहिए।

अंत में, विकास के माहौल में प्लगइन्स, अनुवाद, सब कुछ अपडेट करने की सुविधा होगी ...

# Set uploads folder user and group to www-data
chown www-data:www-data -R wp-content/

# Set uploads folder user and group to www-data
chown your-user:root-group -R wp-content/themes

# Set uploads folder user and group to www-data
chown your-user:root-group -R wp-content/plugins/your-plugin

www-data: www-data = apache या nginx उपयोगकर्ता और अपने उपयोगकर्ता को समूह : रूट-समूह = आपका वर्तमान उपयोगकर्ता और रूट समूह

इन अनुमतियों से आपको अनुमति के बिना अंडर themesऔर your-pluginफोल्डर विकसित करने की सुविधा मिलेगी । WP या फ़ाइल सिस्टम को प्रबंधित करने की अनुमति देने के लिए शेष सामग्री Apache या Nginx उपयोगकर्ता के स्वामित्व में होगी।

Git repo बनाने से पहले इन कमांड को पहले चलाएं:

# Set all directories permissions to 755
find . -type d -exec chmod 755 {} \;

# Set all files permissions to 644
find . -type f -exec chmod 644 {} \;

11
Nooo! 777 कभी न करें। कृपया (नए) लोगों को इसे पढ़ने की सलाह न दें।
कार्लो

कोई फ़ाइल या फ़ोल्डर http प्रक्रिया के स्वामित्व में होना चाहिए - यह एक प्रमुख सुरक्षा अंतर है। यदि किसी दुर्भावनापूर्ण उपयोगकर्ता को किसी प्लगइन या थीम या वर्डप्रेस में एक शोषण मिला, तो वे कोड अपलोड कर सकते हैं जो तब अपाचे द्वारा चलाया जा सकता है और पहुंच प्राप्त कर सकता है - मैंने इसे पहले हाथ देखा है :(
18

10

फ़ाइल के लिए सही अनुमति 644 है फ़ोल्डर के लिए सही अनुमति 755 है

अनुमतियाँ बदलने के लिए, टर्मिनल और निम्न आदेशों का उपयोग करें।

find foldername -type d -exec chmod 755 {} \;
find foldername -type f -exec chmod 644 {} \;

फ़ोल्डरों के लिए 755 और फाइलों के लिए 644।


1
और 640 wp-config.php.But के लिए दुर्भाग्य से, आपको अपलोड और प्लगइन्स और थीम फ़ोल्डर की अनुमतियों को 775 में बदलना होगा और यदि आप अपने वर्डप्रेस को अपग्रेड करना चाहते हैं तो आपको सभी फ़ोल्डरों को 775 में बदलना होगा। इस खंड में आपकी अनुमतियाँ अपग्रेड करते समय त्रुटियों को पॉप अप करेंगी। / प्लगइन्स बदलना, थीम और मेडिसि अपलोड करना।
एर्गिंडूरन

8

मुझे लगता है कि डिफ़ॉल्ट वर्डप्रेस साइट के लिए नीचे दिए गए नियमों की सिफारिश की गई है:

  • Wp-content के अंदर फ़ोल्डर्स के लिए, 0755 अनुमतियाँ सेट करें:

    chmod -R 0755 प्लगइन्स

    chmod -R 0755 अपलोड

    chmod -R 0755 अपग्रेड

  • Apache उपयोगकर्ता wp-content की उपरोक्त निर्देशिका के लिए स्वामी है:

    चाउ अपाचे अपलोड

    चांस अपाचे अपग्रेड

    अपाचे प्लगइन्स का उपयोग करें


1
आप निर्देशिकाओं के लिए पुनरावर्ती सेट भी कर सकते हैं, जैसे: chown -R एपाचे अपलोड । और यदि आवश्यक हो, तो आप अपाचे को समूह का स्वामित्व भी दे सकते हैं: chgrp एपाचे अपलोड
shasi kant

8

यह वास्तव में आपके द्वारा उपयोग किए जाने वाले प्लगइन्स पर निर्भर करता है क्योंकि कुछ प्लगइन्स वर्डप्रेस के रूट दस्तावेज़ को बदलते हैं। लेकिन आम तौर पर मैं वर्डप्रेस निर्देशिका के लिए कुछ इस तरह की सलाह देता हूं।

यह "रूट" (या उपयोगकर्ता जो भी आप उपयोग कर रहे हैं) को हर एक फ़ाइल / फ़ोल्डर में उपयोगकर्ता के रूप में असाइन करेगा, आर का अर्थ है पुनरावर्ती, इसलिए यह "html" फ़ोल्डर में बंद नहीं होता है। यदि आपने R का उपयोग नहीं किया है, तो यह केवल "html" निर्देशिका पर लागू होता है।

sudo chown -R root:www-data /var/www/html  

यह "wp-content" के स्वामी / समूह को "www-data" पर सेट करेगा और इस प्रकार वेब सर्वर को व्यवस्थापक पैनल के माध्यम से प्लगइन्स को स्थापित करने की अनुमति देगा।

chown -R www-data:www-data /var/www/html/wp-content

यह "html" फ़ोल्डर में प्रत्येक एकल फ़ाइल (उपनिर्देशिकाओं में फ़ाइलों सहित) की अनुमति को 644 पर सेट करेगा, इसलिए बाहर के लोग किसी भी फ़ाइल को निष्पादित नहीं कर सकते हैं, किसी भी फ़ाइल को संशोधित कर सकते हैं, समूह किसी भी फ़ाइल को निष्पादित नहीं कर सकता है, किसी भी फ़ाइल को संशोधित कर सकता है और केवल उपयोगकर्ता को फ़ाइलों को संशोधित / पढ़ने की अनुमति है, लेकिन फिर भी उपयोगकर्ता किसी भी फ़ाइल को निष्पादित नहीं कर सकता है। यह महत्वपूर्ण है क्योंकि यह "html" फ़ोल्डर में किसी भी प्रकार के निष्पादन को रोकता है, क्योंकि html फ़ोल्डर के मालिक और wp-content फ़ोल्डर को छोड़कर अन्य सभी फ़ोल्डर "रूट" (या आपका उपयोगकर्ता) हैं, www-data कर सकते हैं ' t wp-content फोल्डर के बाहर की किसी भी फाइल को संशोधित करें, भले ही वेब सर्वर में कोई भेद्यता हो, और यदि कोई व्यक्ति अनधिकृत रूप से साइट पर पहुँच जाता है, तो वे प्लगइन्स को छोड़कर मुख्य साइट को हटा नहीं सकते हैं।

sudo find /var/www/html -type f -exec chmod 644 {} +

यह rw-r ----- इन अनुमतियों के साथ उपयोगकर्ता / समूह के लिए "wp-config.php" तक पहुंचने की अनुमति को प्रतिबंधित करेगा।

chmod 640 /var/www/html/wp-config.php

और यदि किसी प्लगइन या अपडेट ने शिकायत की है कि यह अपडेट नहीं हो सकता है, तो SSH तक पहुंचें और इस कमांड का उपयोग करें, और व्यवस्थापक पैनल के माध्यम से अपडेट / इंस्टॉल करने के लिए "www-data" (वेब ​​सर्वर) को अस्थायी अनुमति दें, और फिर वापस लौटें। एक बार पूरा होने के बाद "रूट" या अपने उपयोगकर्ता पर वापस जाएं।

chown -R www-data /var/www/html

और एनजीएनएक्स (एपेक के लिए एक ही प्रक्रिया) में डब्ल्यूपी-व्यवस्थापक फ़ोल्डर को अनधिकृत एक्सेसिंग और जांच से बचाने के लिए। Apache2-utils पासवर्ड कूटबद्ध करने के लिए आवश्यक है, भले ही आपने nginx स्थापित किया हो, c को छोड़ दें यदि आप एक ही फाइल में अधिक उपयोगकर्ता जोड़ने की योजना बनाते हैं।

sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd userName

अब इस स्थान पर जाएँ

/etc/nginx/sites-available/

पासवर्ड के साथ "wp-admin" फ़ोल्डर की सुरक्षा के लिए इस कोड का उपयोग करें, अब यह पासवर्ड / उपयोगकर्ता नाम पूछेगा यदि आपने "wp-admin" तक पहुंचने का प्रयास किया है। ध्यान दें, यहां आप ".htpasswd" फ़ाइल का उपयोग करते हैं जिसमें एन्क्रिप्टेड पासवर्ड होता है।

location ^~ /wp-admin {
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
    index  index.php index.html index.htm;
}

अब nginx को पुनरारंभ करें।

sudo /etc/init.d/nginx restart

रूट उपयोगकर्ता का उपयोग करने की अनुशंसा नहीं की जाती है। यह अधिक खतरनाक हो सकता है बस एक नया उपयोगकर्ता
बनाएं

मैंने रूट का उपयोग करने के लिए यहां वकालत नहीं की। मैंने एक उदाहरण के रूप में रूट का उपयोग किया। आप रूट का उपयोग करने के बजाय किसी भी नाम का उपयोग कर सकते हैं।
डॉन दिलंगा

2

आदेश:

chown www-data:www-data -R *
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

जहाँ ftp-user वह उपयोगकर्ता है जो आप फ़ाइलों को अपलोड करने के लिए उपयोग कर रहे हैं

chown -R ftp-user:www-data wp-content
chmod -R 775 wp-content

1
chown का यूज़रनेम होना चाहिए: www-data अन्यथा आप फाइलों को एडिट नहीं कर सकते हैं
malhal

आप उपयोग कर सकते हैं $(whoami)के बजाय ftp-user। डिफ़ॉल्ट रूप से, आपका वर्तमान उपयोगकर्ता ( रूट नहीं ) आपका एफ़टीपी उपयोगकर्ता है यदि आप अपने स्वयं के सर्वर (स्थानीय, वीपीएस, आदि) का उपयोग कर रहे हैं
जुआनजो सल्वाडोर

2

यह सुनिश्चित करने के लिए कि आपकी वेबसाइट सुरक्षित है और आप अपने फ़ोल्डरों के लिए सही अनुमतियों का उपयोग कर रहे हैं, इन जैसे सुरक्षा प्लगइन का उपयोग करें:

https://en-ca.wordpress.org/plugins/all-in-one-wp-security-and-firewall/

https://en-ca.wordpress.org/plugins/wordfence/

ये प्लगइन्स आपके वर्डप्रेस इंस्टॉलेशन को स्कैन करेंगे और आपको किसी भी संभावित समस्या के बारे में सूचित करेंगे। ये आपको किसी भी असुरक्षित फ़ोल्डर अनुमतियों के बारे में भी चेतावनी देंगे। इसके अलावा, ये प्लगइन्स आपको यह सुझाएंगे कि फ़ोल्डर्स को क्या अनुमतियाँ दी जानी चाहिए।


2
chown -Rv www-data:www-data
chmod -Rv 0755 wp-includes
chmod -Rv 0755 wp-admin/js
chmod -Rv 0755 wp-content/themes
chmod -Rv 0755 wp-content/plugins
chmod -Rv 0755 wp-admin
chmod -Rv 0755 wp-content
chmod -v 0644 wp-config.php
chmod -v 0644 wp-admin/index.php
chmod -v 0644 .htaccess

1

मैं आपको बता नहीं सकता कि यह सही है या नहीं, लेकिन मैं Google Compute App Engine पर एक Bitnami छवि का उपयोग कर रहा हूं। मुझे प्लगइन्स और माइग्रेशन के साथ समस्याएँ हैं, और chmod'ing अनुमतियों द्वारा चीजों को और अधिक गड़बड़ाने के बाद, मैंने इन तीन पंक्तियों को पाया जिसने मेरी सभी समस्याओं को हल कर दिया। यकीन नहीं होता कि यह उचित तरीका है लेकिन मेरे लिए काम किया है।

sudo chown -R bitnami:daemon /opt/bitnami/apps/wordpress/htdocs/
sudo find /opt/bitnami/apps/wordpress/htdocs/ -type f -exec chmod 664 {} \;
sudo find /opt/bitnami/apps/wordpress/htdocs/ -type d -exec chmod 775 {} \;

1

OS X के लिए इस कमांड का उपयोग करें:

sudo chown -R www:www /www/folder_name

1

Wp_config फ़ाइल में परिभाषित करें।

/var/www/html/Your-Project-File/wp-config.php

define( 'FS_METHOD', 'direct' );

chown - फाइलों / dirs का स्वामित्व बदलता है। अर्थात। फ़ाइल का स्वामी / निर्दिष्ट निर्दिष्ट में परिवर्तन करता है, लेकिन यह अनुमतियों को संशोधित नहीं करता है।

sudo chown -R www-data:www-data /var/www

0

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

हमारे उदाहरण में, wordpress document root / /var/www/html/example.com/public_html है

अनुमतियाँ खोलें ताकि www-डेटा दस्तावेज़ रूट पर निम्नानुसार लिख सके:

cd /var/www/html/example.com
sudo chown -R www-data:www-data public_html/

अब आपकी साइट के डैशबोर्ड से, एक व्यवस्थापक के रूप में आप अपडेट कर सकते हैं।

अद्यतनों के बाद सुरक्षित साइट इन चरणों का पालन करके समाप्त कर रहे हैं:

sudo chown -R wp-user:wp-user public_html/

उपरोक्त कमांड वर्डप्रेस एफ़टीपी उपयोगकर्ता के लिए इंस्टॉल किए गए वर्डप्रेस में सब कुछ की अनुमतियों को बदलता है।

cd public_html/wp-content
sudo chown -R www-data:wp-user wflogs
sudo chown -R www-data:wp-user uploads

उपरोक्त कमांड यह सुनिश्चित करता है कि सुरक्षा प्लगइन Wordfence की लॉग्स तक पहुँच है। अपलोड निर्देशिका www-data द्वारा भी लेखन योग्य है।

cd plugins
sudo chown -R www-data:wp-user wordfence/

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

निर्देशिका और फ़ाइलें अनुमतियाँ

# Set all directories permissions to 755
find . -type d -exec chmod 755 {} \;

# Set all files permissions to 644
find . -type f -exec chmod 644 {} \;

Wp-config.php के लिए अनुमतियों को 640 पर सेट करें ताकि केवल wp-user ही इस फाइल को पढ़ सके और कोई नहीं। 440 के अनुमतियों ने मेरे लिए उपरोक्त फ़ाइल स्वामित्व के साथ काम नहीं किया।

sudo chmod 640 wp-config.php

SSH का उपयोग करते हुए वर्डप्रेस स्वचालित अपडेट PHP5 के साथ ठीक काम कर रहे थे लेकिन Ubuntu 16.04 के साथ php7.0-ssh2 बंडल के साथ समस्याओं के कारण PHP7.0 के साथ टूट गया और मैं सही संस्करण को स्थापित करने और इसे काम करने का तरीका नहीं खोज सका। सौभाग्य से ssh-sftp-updater-support (free) नामक एक बहुत ही विश्वसनीय प्लगइन , libssh2 की आवश्यकता के बिना SFTP का उपयोग करके स्वचालित अपडेट करता है। इसलिए उपरोक्त अनुमतियों को कभी भी जरूरत के अनुसार दुर्लभ मामलों में शिथिल नहीं किया जाना चाहिए।

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