Nustatykite „WordPress“ failų leidimus

Žiūrėjau čia , bet nerado jokios informacijos apie geriausias failų rezoliucijas. Aš taip pat pažvelgiau į kai kuriuos aukščiau pateiktus „WordPress“ formos klausimus, bet visiems, kurie siūlo 777, aiškiai reikia mažos pamokos.

Trumpai tariant, mano klausimas yra toks. Kokias teises turėčiau turėti:

  • šaknis, saugantis visą „WordPress“ turinį
  • sor administratorius
  • šiukšlių kiekis
  • WP apima

ir tada visi failai kiekviename iš šių aplankų?

298
21 авг. John Crawford nustatė rugpjūčio 21 d 2013-08-21 11:39 '13, 11:39, 2013-08-21 11:39
@ 15 atsakymų

Konfigūruodami WP, jums (žiniatinklio serveris) gali reikėti rašyti prieigą prie failų. Taigi, prieigos teisės gali būti nemokamos.

Hardening WordPress“, visi failai, išskyrus „wp“ turinį, turi būti prieinami tik jūsų vartotojo abonementui.  Wp turinys turėtų būti prieinamas įrašyti per www duomenis. 

Vėliau galbūt norėsite pakeisti turinį wp turinyje. Šiuo atveju galėtumėte

  • laikinai pakeisti naudotoją į „www“ duomenis su su ,
  • suteikti prieigą prie rekordinio 775 wp turinio grupės ir prisijungti prie www duomenų grupės arba
  • suteiks naudotojo teises aplankui, naudodamas ACL .

Nepriklausomai nuo to, ką darote, įsitikinkite, kad failai turi „www-duomenų“ leidimus.

339
20 мая '14 в 12:13 2014-05-20 12:13 atsakymą pateikė ManuelSchneid3r gegužės 20 d., 14 val. 12:13 2014-05-20 12:13

Galimybė naudotis visais „wp“ failais www-data naudotojui (kuris šiuo atveju yra žiniatinklio serverio vartotojas) gali būti pavojingas. Todėl nedarykite:

 chown www-data:www-data -R * 

Tačiau tai gali būti naudinga tuo metu, kai įdiegiate arba atnaujinate „WordPress“ ir jo įskiepius. Bet kai baigsite, nerekomenduojama laikyti wp failus, priklausančius žiniatinklio serveriui.

Tai iš esmės leidžia žiniatinklio serveriui patalpinti arba perrašyti bet kurį failą jūsų svetainėje. Tai reiškia, kad galima įdėti svetainę, jei kas nors sugeba naudoti žiniatinklio serverį (arba kai kurios .php skripto saugos skylę) tam tikrus failus įdėti į jūsų svetainę.

Jei norite apsaugoti svetainę nuo tokio atakos, turite:

Visi failai turi priklausyti jūsų vartotojo abonementui ir turi būti įrašomi. Bet koks failas, kuriam reikia rašymo prieigos iš „WordPress“, turi būti rašomas žiniatinklio serveryje, jei jūsų priegloba reikalauja, tai gali reikšti, kad šie failai turi priklausyti naudotojo abonemento, naudojamo žiniatinklio serverio procesui, grupei.

/

„WordPress“ šakninis katalogas: visi failai turėtų būti prieinami rašyti tik jūsų vartotojo abonemente, išskyrus .htaccess, jei norite, kad „WordPress“ automatiškai generuotų perrašymo taisykles.

/wp-admin/

„WordPress“ administravimo sritis: visi failai turėtų būti prieinami rašyti tik jūsų vartotojo paskyroje.

/wp-includes/

Pagrindinė „WordPress“ logikos dalis: visi failai turėtų būti prieinami tik jūsų vartotojo abonementui.

/wp-content/

Naudotojo pateikiamas turinys: tai numatyta įrašyti į vartotojo abonementą ir žiniatinklio serverio procesą.

Viduje /wp-content/ rasite:

/wp-content/themes/

Temos failai. Jei norite naudoti integruotą temos redaktorių, visi failai turi būti prieinami įrašyti žiniatinklio serverio proceso metu. Jei nenorite naudoti įmontuoto temos redaktoriaus, visus failus galėsite pasiekti tik rašydami į savo vartotojo abonementą.

/wp-content/plugins/

Įskiepių failai: visi failai turi būti prieinami tik jūsų vartotojo abonementui.

Kiti katalogai, kuriuose gali būti /wp-content/ turėtų būti dokumentuojami bet kokiu papildiniu ar tema. Leidimai gali keistis.

Šaltinis ir papildoma informacija: http://codex.wordpress.org/Hardening_WordPress

49
16 сент. atsakymas, kurį pateikė Kornel, rugsėjo 16 d 2014-09-16 12:20 '14, 12:20 2014-09-16 12:20

Tiems, kurie savo namų aplanke turi WordPress root aplanką:

** Ubuntu / apache

  • Pridėkite naudotoją prie www-duomenų grupės:

CREDIT Suteikti leidimus rašyti www duomenų grupei

Norite savo vartotojui paskambinti „ usermod “. Taigi tai bus:

 sudo usermod -aG www-data yourUserName 

** Darant prielaidą, kad grupės www-data yra

  1. Patikrinkite, ar jūsų vartotojas yra www-data grupėje:

    groups yourUserName

Turėtumėte gauti kažką panašaus:

 youUserName : youUserGroupName www-data 

** youUserGroupName paprastai atrodo kaip jūsų vartotojo vardas

  1. Rekursyviai pakeiskite grupės turinio wp turinį aplanką, išlaikant vartotojo teisę

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

  2. Pakeiskite katalogą į jusWebSiteFolder / wp-content /

    cd youWebSiteFolder/wp-content

  3. Rekursyviai pakeiskite aplankų ir poaplankių grupių leidimus, kad būtų leista rašyti leidimus:

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

** režimas `/ home / yourUserName / youWebSiteFolder / wp-content / 'pakeistas nuo 0755 (rwxr-xr-x) iki 0775 (rwxrwxr-x)

  1. Rekursyviai pakeiskite failų ir subfailų grupių leidimus, kad galėtumėte rašyti leidimus:

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

Rezultatas turėtų būti toks:

 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 

Lygiavertis:

chmod -R ug + rw aplanko pavadinimas

Leidimai bus panašūs į 664 failus arba 775 katalogams.

Ps, jei kas nors susiduria su klaida 'could not create directory' atnaujinant papildinį, paleiskite:
server@user:~/domainame.com$ sudo chown username:www-data -R wp-content
kai esate domeno šaknis.
Darant prielaidą: wp-config.php turi
FTP kredencialai „LocalHost“
define('FS_METHOD','direct');

21
18 окт. Jadeye atsakymas, pateiktas spalio 18 d 2014-10-18 13:55 '14, 13:55 2014-10-18 13:55

Nustatau leidimus:

  # 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 {} \; 

Mano atveju sukūriau „WordPress“ naudotojui skirtą naudotoją, kuris skiriasi nuo numatytojo vartotojo apache, kuris neleidžia prieigai iš šio failo, priklausančio šiam vartotojui.

Tada jis suteikia apache naudotojo leidimą tvarkyti atsisiuntimo aplanką ir, galiausiai, nustatyti pakankamai saugius leidimus failams ir aplankams.

EDITED

Jei naudojate „W3C Total Cache“, taip pat turėtumėte atlikti šiuos veiksmus:

 chmod 777 wp-content/w3tc-config chmod 777 wp-content/cache 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 

Tada jis veiks!

EDITED

Po kurio laiko, kuriant „WordPress“ svetaines, aš rekomenduočiau įvairias teises kiekvienai aplinkai:

Gaminant negaliu suteikti naudotojams prieigos prie failų sistemos pakeitimo, leisiu jiems atsisiųsti išteklius ir suteikti prieigą prie kai kurių atskirų aplankų, skirtų kurti atsargines kopijas ir tt Tačiau projektų valdymas pagal „Git“ ir serverio diegimo raktų naudojimas nėra geri gamybos ar gamybos naujiniai. Čia palieku gamybos failo nustatymą:

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

www-data: www-data = vartotojas ir grupė „apache“ arba „nginx“

Laipsniškai bus išduodami tokie patys leidimai, nes tai turi būti klonas.

Galiausiai, plėtros aplinka turės prieigą prie naujinių, vertimų, visko ...

 # 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 = vartotojas ir „apache“ arba „nginx“ grupė jūsų naudotojui: root-group = jūsų dabartinis vartotojas ir šaknų grupė

Šie leidimai suteiks jums prieigą prie themes ir your-plugin aplanko kūrimo be vartotojo leidimo. Likęs turinys priklausys „Apache“ arba „Nginx“ naudotojui, kad WP galėtų tvarkyti failų sistemą.

Prieš kurdami „Git“ saugyklą, vykdykite šias komandas:

 # Set all directories permissions to 755 find . -type d -exec chmod 755 {} \; # Set all files permissions to 644 find . -type f -exec chmod 644 {} \; 
13
29 апр. Atsakymą pateikė Pablo Ezequiel Leone, balandžio 29 d. 2016-04-29 01:46 '16 at 1:46 2016-04-29 01:46

Teisingas failų leidimas - 644 Tinkami leidimai šiam aplankui - 755

Norėdami pakeisti teises, naudokite terminalą ir šias komandas.

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

755 aplankams ir 644 failams.

9
13 июня '16 в 14:23 2016-06-13 14:23 atsakymas duotas Kappa birželio 13 d. 16 val. 14:23 2016-06-13 14:23

Geriausia perskaityti „Wordpress“ dokumentaciją šiuo https://codex.wordpress.org/Changing_File_Permissions

  • Visi failai turi priklausyti faktinei naudotojo paskyrai, o ne naudotojo abonementui, naudojamam httpd procesui.
  • Grupės nuosavybė nėra svarbi, nebent reikia specialių grupių reikalavimų norint patikrinti prieigos prie žiniatinklio serverio teises. Paprastai taip nėra.
  • Visi katalogai turi būti 755 arba 750.
  • Visi failai turi būti 644 arba 640. Išimtis: wp-config.php turi būti 440 arba 400, kad kiti vartotojai jo neperskaitytų.
  • Jokių katalogų niekada neturėtų būti teikiama 777, netgi ne atsisiųsti katalogus. Kadangi php procesas veikia kaip failų savininkas, jis gauna savininkų leidimus ir netgi gali rašyti į katalogą 755.
7
30 нояб. atsakymas pateikiamas PodTech.io lapkričio 30 d. 2017-11-30 13:42 '17 at 13:42 2017-11-30 13:42

Manau, kad toliau nurodytos taisyklės yra rekomenduojamos „Wordpress“ pagal nutylėjimą:

  • Wpp turinio aplankams nustatykite leidimus 0755:

    chmod-R 0755 įskiepiai

    chmod -R 0755 parsisiųsti

    „Chmod“ atnaujinimas -R 0755

  • Leiskite, kad „apache“ naudotojui priklausytų pirmiau minėti wp turinio katalogai:

    „chown apache“ įkėlimai

    atnaujinti chown apache

    apašuvų apache papildiniai

7
27 марта '15 в 14:10 2015-03-27 14:10 atsakymą pateikė shasi kanth kovo 27 d. 15, 14:10 2015-03-27 14:10

Tiesą sakant, tai priklauso nuo įskiepių, kuriuos ketinate naudoti, nes kai kurie įskiepiai keičia „Wordpress“ dokumentą. bet paprastai rekomenduoju kažką panašaus į WordPress katalogą.

Tai paskirs „root“ (arba bet kurį kitą naudotoją) kaip vartotoją kiekviename atskirame faile / aplanke, R reiškia rekursyvumą, todėl tiesiog nesibaigia aplanke „html“. jei nenaudojote R, tada jis taikomas tik „html“ katalogui.

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

Tai leis savininkui / grupei „wp-content“ priskirti „www duomenis“ ir tokiu būdu leisti žiniatinklio serveriui įdiegti įskiepius per administratoriaus skydelį.

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

Tai nustatys kiekvieno atskiro failo „html“ aplanke (įskaitant failus, esančius pakatalogiuose) rezoliuciją iki 644, todėl išoriniai vartotojai negali atlikti jokio failo, nekeisti jokių failų, grupė negali vykdyti jokio failo, nekeisti failo ir tik vartotojas gali keisti / skaityti failus, tačiau net vartotojas negali atlikti jokio failo. Tai svarbu, nes ji neleidžia bet kokiam vykdymui „html“ aplanke, nes html aplanko savininkas ir visi kiti aplankai, išskyrus „wp-content“ aplanką, yra „root“ (arba jūsų vartotojas), „www“ duomenys negali pakeisti failas yra ne „wp-content“ aplanke, todėl net jei interneto serveryje yra pažeidžiamumas, ir jei kas nors pasiekė svetainę be leidimo, jie negali ištrinti pagrindinės svetainės, išskyrus papildinius.

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

Tai apribos prieigą prie „wp-config.php“ naudotojui / grupei, kuri naudoja rw-r ----- šiuos leidimus.

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

Ir jei įskiepis ar atnaujinimas skundėsi, kad jis negalėjo atnaujinti, tada prisijungti prie SSH ir naudoti šią komandą ir suteikti laikiną leidimą „www-duomenims“ (žiniatinklio serveris) atnaujinti / įdiegti per „admin“ skydelį, tada grįžkite į „ „root“ arba jūsų naudotojas po jo užbaigimo.

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

Ir „Nginx“ (ta pati procedūra, skirta „apache“) apsaugoti „wp-admin“ aplanką nuo neleistinos prieigos ir jutimo. „apache2-utils“ yra reikalingas slaptažodžiui užšifruoti, net jei įdiegėte „nginx“, sumažinkite c, jei planuojate pridėti daugiau vartotojų prie to paties failo.

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

Dabar eikite į šią vietą

 /etc/nginx/sites-available/ 

Naudokite šiuos kodus, kad apsaugotumėte „wp-admin“ aplanką su slaptažodžiu, dabar jis paprašys slaptažodžio / naudotojo vardo, jei bandysite pasiekti „wp-admin“. Pastaba: čia naudojate .htpasswd failą, kuriame yra užšifruotas slaptažodis.

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

Dabar iš naujo paleiskite „nginx“.

 sudo /etc/init.d/nginx restart 
6
12 янв. Atsakymą pateikė Liyanage 12 sausis. 2017-01-12 15:35 '17, 15:35 2017-01-12 15:35

Komandos

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

Kai ftp vartotojas yra tai, ką naudojate failams įkelti

 chown -R ftp-user:www-data wp-content chmod -R 775 wp-content 
3
19 февр. Atsakyti Iacob Vlad-George 19 vas. 2015-02-19 09:52 '15 at 9:52 2015-02-19 09:52

Negaliu pasakyti, ar tai teisinga ar ne, bet naudoju „bitnami“ vaizdą „Google Compute App Engine“. Turėjau problemų su įskiepiais ir migracija, o po to, kai vėl pradėjau dirbti su „chmod“ leidimais, aptikau šias tris eilutes, kurios išsprendė visas mano problemas. Nežinote, ar ji tinkamai veikė, bet dirbo man.

 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
27 мая '16 в 22:19 2016-05-27 22:19 atsakymas pateikiamas ateinančio gegužės 27 d., 16 d., 10:19 val. 2016-05-27 22:19

OS X naudokite šią komandą:

 sudo chown -R www:www /www/folder_name 
1
06 сент. Atsakyti Abduhafiz 06 sept. 2016-09-06 18:35 '16 at 18:35 pm 2016-09-06 18:35

Jei norite įsitikinti, kad svetainė yra apsaugota ir naudojate tinkamus leidimus savo aplankams, naudokite tokį saugos papildinį:

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

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

Šie įskiepiai nuskaito jūsų „WordPress“ diegimą ir praneša apie galimas problemas. Jie taip pat įspėja apie visus nesaugius leidimus aplanke. Be to, šie papildiniai rekomenduos jums, kuriuos leidimus priskirti aplankams.

1
14 окт. atsakymą pateikė user296526 14 okt. 2016-10-14 18:39 '16 at 18:39 pm 2016-10-14 18:39
 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 
0
29 нояб. Atsakymą pateikė Grapehand lapkričio 29 d. 2017-11-29 23:42 '17, 11:42 pm 2017-11-29 23:42

Remdamasis visais mano svetainių rodmenimis ir agonijomis ir po įsilaužimo, aš atėjau aukščiau pateiktą sąrašą, kuriame yra leidimai „Wordpress“ saugos papildiniui „Wordfence“. (Nesusijęs su juo)

Mūsų pavyzdyje WordPress dokumento šaknis yra /var/www/html/example.com/public_html

Atidarykite leidimus, kad www duomenys būtų įrašomi į šakninį katalogą taip:

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

Dabar iš savo svetainės valdymo pulto, kaip administratoriaus, galite atlikti naujinimus.

Saugoma svetainė po atnaujinimo baigiama atlikus šiuos veiksmus:

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

Pirmiau minėta komanda pakeičia viską, ką WordPress įdiegia WordPress FTP naudotojui.

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

Pirmiau nurodyta komanda užtikrina, kad „Wordfence“ saugos papildinys turi prieigą prie jos žurnalų. Įkėlimo katalogą taip pat galima įrašyti www duomenimis.

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

Pirmiau minėta komanda taip pat užtikrina, kad saugumo papildinys turi skaitymo prieigą, kad būtų galima perskaityti savo tinkamą funkciją.

Katalogų ir failų leidimai # Nustatykite visus katalogų leidimus 755 paieškai. -dececex chmod 755 {} \ t

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

Nustatykite wp-config.php teises į 640, kad tik WP vartotojas galėtų perskaityti šį failą ir niekas kitas. Leidimai 440 man nepadarė nuosavybės teisės.

 sudo chmod 640 wp-config.php 

Automatiniai „WordPress“ atnaujinimai, naudojant SSH, puikiai veikė su PHP5, bet su PHP7.0 dėl problemų dėl „php7.0-ssh2“ paketo su „Ubuntu 16.04“, ir aš neradau, kaip įdiegti teisingą versiją ir padaryti ją veikiančią. Laimei, labai patikimas įskiepis, vadinamas „ ssh-sftp-updater-support“ (nemokamai), automatiškai atnaujina naudodamas SFTP be libssh2. Taigi minėti leidimai niekada neturėtų būti atsipalaiduoti, išskyrus tuos atvejus, kai reikia, retais atvejais.

0
31 янв. atsakymas pateikiamas spinozarabel sausio 31 d 2018-01-31 11:44 '18, 11:44 201-01-31 11:44

Nustatykite faile wp_config.

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

 define( 'FS_METHOD', 'direct' ); 

chown - pakeičia failų / katalogų nuosavybę. Tai yra. / dir failo savininkas pakeistas į nurodytą, tačiau jis nekeičia leidimų.

 sudo chown -R www-data:www-data /var/www 
0
31 мая '18 в 10:27 2018-05-31 10:27 atsakymą pateikė Harish Verma gegužės 18 d., 10:27, 2018-05-31 10:27

Kiti klausimai apie žymas arba Užduoti klausimą