Jakie uprawnienia powinienem udzielić / var i / media?


Odpowiedzi:


18

Nie widziałem wiele wzmianek o używaniu 700 i 600, ale ogólnie jest to dobra rada. Niestety każda konfiguracja serwera jest inna i należy ją porównać z wygodą (dostęp użytkownika do aktualizacji / edycji plików).

Podstawowym podejściem powinno być rozdawanie tak mało, jak to możliwe i blokowanie jak najwięcej (700/600 jest do tego dobre). Pod tym względem „oficjalna” rada na wiki chce stosować się w jak największej liczbie okoliczności i sugeruje wszystkim uprawnienia do odczytu (co oznacza, że ​​każda naruszona inna usługa na serwerze będzie mogła na przykład odczytać aplikację / etc / local). xml z konfiguracją db).

W twoim przypadku wygląda to na to, że pliki są własnością innego użytkownika niż ten, na którym działa twój proces serwera / php. Zmiana własności plików na serwer internetowy powinna rozwiązać pierwotny problem.

Należy pamiętać, że użycie 700/600 i przypisanie plików do serwera oznacza, że ​​zwykły użytkownik nie będzie mógł edytować plików.

Poniżej uważam, że jest to dobry kompromis dla wygody vs blokowania. Wszystkie pliki są własnością użytkownika: webservergroup

var i media 770/660
Serwer i użytkownik mogą odczytywać i zapisywać z folderów var i media (sesja / pamięć podręczna / obrazy).

reszta 750/640
Twój użytkownik może edytować / aktualizować kod.
Serwer WWW jest w stanie odczytać pliki do wykonania / wyświetlenia.


2
Prawie dwa lata później i teraz zgadzam się z tym bardziej niż moją własną odpowiedzią.
— philwinkle

Zdałem sobie sprawę, że nigdy nie dostałem odpowiedzi na ten problem, a moim problemem było to, że serwer nie był właścicielem plików. Poprosiłem również o wyjaśnienie uprawnień, aby uzyskać więcej standardowych praktyk, kiedy czytałem różne rzeczy.
— Egregory

18

Na ogół wszystkie pliki powinny być 644i wszystkie foldery powinny być 755i powinny być własnością użytkownika serwer WWW działa pod . Plik magewykonywalny powinien mieć 550uprawnienia pozwalające na wykonanie.

Ten skrypt powłoki powinien załatać sprawę, jeśli jest uruchamiany z katalogu głównego Mage:

#!/bin/sh
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 550 mage

Źródło: http://www.magentocommerce.com/wiki/groups/227/resetting_file_permissions


5

Chociaż rozwiązanie Phila jest dobre, stosuję nieco inne podejście. Oprócz uczynienia właściciela pliku „php / webserver user”, tworzę dodatkową grupę. Zwykle nazywa się to dev . I dodam „user php” i sobie i innym deweloperom do tej grupy dev . Następnie wykonuję chgrp , aby wszystkie pliki w poddrzewie projektu Magento miały grupę dev . Dodam + s trochę do folderów, które gwarantuje, że nowo utworzone podfoldery uzyskać takie same uprawnienia.

Za pomocą skryptu fix_permissions.sh utworzyłem publiczną treść. Zachęcamy do korzystania z niego :) Pomaga utrzymać cały poddrzewo projektu Magento z dobrymi uprawnieniami.

https://gist.github.com/svenvarkel/8062778#file-fix_permissions-sh

Oryginalne pytanie - var i media muszą mieć takie uprawnienia, aby „użytkownik php” mógł czytać i zapisywać w tych folderach. Musi być w stanie zapisywać pamięć podręczną, pliki sesji itp. W var i musi być w stanie zapisywać pamięć podręczną obrazu produktu i obrazy w mediach. Postępuj zgodnie z zaleceniami Phila: chown lub chgrp to dla „użytkownika php” i daj uprawnienia rw „użytkownikowi php”.

Myślę, że bardziej poprawne jest odwoływanie się do „użytkownika php” w kontekście FPM (CGI). Użytkownik serwera WWW może różnić się od tego, który korzysta z PHP.


3
Masz absolutną rację, jeśli chodzi o terminologię dotyczącą użytkownika serwera WWW lub użytkownika php. Świetny punkt Trzeba się jednak zastanawiać, czy osoba pytająca, jak zmienić uprawnienia, wiedziałaby, czy korzysta z PHP FPM, czy nie ...
— philwinkle

1

/ var - magento służy do zapisu pamięci podręcznej, sesji itp.

/ media - magento służy do aktualizacji obrazu produktu, kategorii obrazu (dowolnego typu obrazu).

Tak więc te dwa foldery powinieneś użyć uprawnienia do odczytu i zapisu. Inny plik, którego powinieneś użyć do odczytu + uprawnienia do wykonywania.


1

Uprawnienie do pliku to 644. Uruchom poniżej kodu w katalogu głównym, używając ssh. odnaleźć .

-type f -exec chmod 644 {} \;

Uprawnienie do folderu to 755. Uruchom poniżej kodu w katalogu głównym, używając ssh. odnaleźć .

-type d -exec chmod 755 {} \;

Uprawnienie do folderu Var wynosi 777. Uruchom poniżej kodu w katalogu głównym, używając ssh.

chmod -R 777 var

Uprawnienie do folderu statycznego to 777. Uruchom poniżej kodu w katalogu głównym, używając ssh.

chmod -R 777 pub/static

Uprawnienie do folderu multimediów to 777. Uruchom poniżej kodu w katalogu głównym, używając ssh.

chmod -R 777 pub/media

2
Powyżej nie jest to, o co poprosił OP, dotyczy Magento 2.x nie Magento 1.7
— Frank Groot

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.