Я розумію , що Magento каже мати / вар і / ЗМІ на 700 для папок і 600 для файлів , але коли я роблю це, він ламає деякі частини мого сайту. Мені цікаво побачити, які дозволи користуються цими папками більшість людей.
Я розумію , що Magento каже мати / вар і / ЗМІ на 700 для папок і 600 для файлів , але коли я роблю це, він ламає деякі частини мого сайту. Мені цікаво побачити, які дозволи користуються цими папками більшість людей.
Відповіді:
Я не бачив багато згадок про використання 700 і 600, але це, як правило, хороша порада. На жаль, кожен сервер, який налаштований, відрізняється, і його слід зважувати на зручність (доступ користувача до оновлення / редагування файлів)
Основним підходом має бути лише віддавати якомога менше та зафіксувати його, наскільки можна (700/600 - це добре). У цьому відношенні "офіційна" порада щодо wiki хоче застосовуватись до якомога більшої кількості обставин і пропонує дозволу на читання для всіх (а це означає, що будь-яка компрометована інша послуга на сервері, наприклад, зможе читати додаток / etc / local. xml з конфігурацією db).
У вашому випадку в даний час це звучить так, ніби файли належать іншому користувачеві, ніж те, під яким працює ваш веб-сервер / php-процес. Зміна права власності на файли на веб-сервері повинна вирішити вашу оригінальну проблему.
Зауважте, що використання 700/600 та призначення файлів веб-серверу означає, що ваш звичайний користувач не зможе редагувати файли.
Нижче я вважаю, що це гарний компроміс для зручності проти блокування. Усі файли належать користувачеві: webservergroup
var та media 770/660
Сервер та користувач можуть читати та писати з папок var та media (сесія / кеш / зображення).
решта 750/640
Ваш користувач може редагувати / оновлювати код.
Веб-сервер вміє читати файли для виконання / відображення.
Загалом усі файли повинні бути, 644
а всі папки повинні бути 755
і повинні належати користувачеві, під яким працює ваш веб-сервер . Виконавчому mage
файлу слід надати 550
дозволи для виконання.
Цей скрипт оболонки повинен виправити речі, якщо запустити з кореня Mage:
#!/bin/sh
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 550 mage
Джерело: http://www.magentocommerce.com/wiki/groups/227/resetting_file_permissions
Хоча рішення Філа добре, я використовую трохи інший підхід. Окрім того, щоб зробити власника файлів "php / webserver user", я створюю додаткову групу. Зазвичай його називають dev . І я додаю "php user" і себе та інших розробників до цієї групи розробників . Потім я роблю chgrp, щоб усі файли в піддереві проекту Magento мали груповий розробник . Я додаю + s біт до папок, що забезпечує новоствореним папкам отримання однакових дозволів.
Я створив публічну суть зі своїм сценарієм fix_permissions.sh. Не соромтеся використовувати його :) Це допомагає вам зберегти все піддерево проекту Magento з хорошими дозволами.
https://gist.github.com/svenvarkel/8062778#file-fix_permissions-sh
Оригінальне запитання - var та media мають мати такі дозволи, щоб "користувач php" міг читати та писати у ці папки. Він повинен мати можливість записувати кеш, файли сеансу тощо під var, а також повинен вміти записувати кеш зображень продукту та зображення на носії. Так само, як Філ радить: виконайте подачу або chgrp для "php user" та надайте rw дозволи "php користувачеві".
Я думаю, що правильніше посилатися на "php user" в контексті FPM (CGI). Користувач веб-сервера може відрізнятися від того, на якому працює PHP.
/ var - magento використовувати для запису даних кешу, сеансу тощо.
/ медіа - використання magento для оновлення зображення продукту, зображення категорії (будь-якого типу зображення).
Отже, у цих двох папках вам слід використовувати дозвіл на читання + запис. Інший файл, для якого слід використовувати дозвіл на читання + виконання.
Дозвіл файлу - 644. Запустіть нижче код у кореневій директорії за допомогою ssh. знайти.
-type f -exec chmod 644 {} \;
Дозвіл на папку становить 755. Запустіть нижче код у кореневій директорії за допомогою ssh. знайти.
-type d -exec chmod 755 {} \;
Дозвіл папки Var дорівнює 777. Запустіть нижче код у кореневій директорії за допомогою ssh.
chmod -R 777 var
Дозвіл статичної папки - 777. Запустіть нижче коду в кореневій директорії за допомогою ssh.
chmod -R 777 pub/static
Дозвіл на папку медіа - 777. Запустіть нижче код у кореневій директорії за допомогою ssh.
chmod -R 777 pub/media
Звідси: http://devdocs.magento.com/guides/m1x/install/installer-privileges_after.html
find . -type f -exec chmod 400 {} \;
find . -type d -exec chmod 500 {} \;
find var/ -type f -exec chmod 600 {} \;
find media/ -type f -exec chmod 600 {} \;
find var/ -type d -exec chmod 700 {} \;
find media/ -type d -exec chmod 700 {} \;
chmod 700 includes
chmod 600 includes/config.php