разрешения по умолчанию для / var / www


36

Я пытался открыть файл и написать в него с помощью PHP в /var/wwwпапке, но он не работал, поэтому я сделал

sudo chmod 777 /var/www

Теперь я хочу установить разрешения для /var/wwwпо умолчанию.
для чего нужны разрешения по умолчанию /var/www?


Я не являюсь участником serverfault, поэтому я не мог комментировать или поднять ответ. Но это сообщение действительно прибивает это: serverfault.com/questions/357108/…
Донато

Попробуйте проверить документ на вики-странице: « Владение файлами и каталогами и разрешения для веб-контента».
Кролик

Ответы:


29

Разрешения для этой папки:

chmod 755 /var/www/

и файлы внутри папки:

chmod 644 /var/www/file

43

Разрешение по умолчанию для /var/wwwсебя довольно стандартное: владелец root:rootи мод 755.

Что касается всего , что находится внутри /var/www , это один из редких каталогов, где у вас есть возможность самим решать, что в него вставлять и какие разрешения должно иметь все, что есть в нем. Но что имеет больше смысла, так это:

  • Большинство файлов должно быть доступно для записи любому пользователю или группе, которые будут писать в них больше всего. Вы можете установить, чтобы они принадлежали вашей учетной записи пользователя. Или создайте пользовательскую группу для ваших разработчиков. Или, если файлы будут изменяться редко, и вы хотите иметь хорошую безопасность, вы можете пойти root:rootи просто sudo в тех редких случаях, когда они будут изменены.

  • Большинство файлов не должно быть доступно для записи. Итак, 644для файлов и 755для каталогов это уместно (или 664и 775если вы хотите дать группе право записи).

  • Он не рекомендуется устанавливать какие - либо из него , чтобы быть доступным для записи веб - сервера, то есть www-data, за исключением каких - либо конкретных файлов ваши веб - скрипты , чтобы иметь возможность писать. Если это так, то лучше установить пользователя или группу этих файлов, www-dataчем сделать их доступными для записи. Обратите внимание, что каждый раз, когда www-dataпользователь может записывать в любой файл в корневом веб-каталоге, будь то путем установки пользователя или группы в этих файлах или создания их для всеобщей записи, это является потенциальной проблемой безопасности. Пишущий на весь мир - только худшее из двух.


2
Признан самым решительным ответом здесь
Крис,

2
Теперь это действительно хороший ответ. :)
Banago

чтобы улучшить ответ, рассмотрите возможность добавления команд для установки соответствующих параметров
Авраам Мурсиано Бензадон

Есть ли рекурсивная функция, которая может изменить все папки на 755 и файлы на 644 внутри var / www?
Мэтью Семик,

Да: stackoverflow.com/questions/18817744/… (второй ответ более элегантен, чем принятый IMO)
thomasrutter

9

Убедитесь, что группа имеет www-data в '/ var / www'.

sudo chgrp www-data /var/www

Сделайте это доступным для записи

sudo chmod 775 /var/www

установить идентификатор группы для подпапок

sudo chmod g+s /var/www

добавьте ваше имя пользователя в группу

sudo useradd -G www-data [USERNAME]
OR
usermod -a -G www-data [USERNAME]

дайте себе право собственности

sudo chown [USERNAME] /var/www/

9
Это не разрешение по умолчанию для / var / www, и с точки зрения безопасности очень плохая идея сделать весь веб-корень доступным для записи с помощью www-data. Делайте это только тогда, когда веб-сценариям требуется доступ на запись к определенным файлам, и даже в этом случае - только к этим конкретным файлам, а не ко всему корневому веб-сайту. И ФП даже не сказал, что ему нужно это делать, так что это вообще не должно быть рекомендацией.
Томасруттер

3
Также очень плохая идея добавить себя в группу www-data и так обращаться с этой группой. Где вы читали, чтобы сделать это? Это особенно плохой совет, почти злой. Создайте свои собственные группы, когда вам нужно предоставить групповой доступ к чему-либо: не используйте повторно непривилегированные группы, которые предназначены для внутреннего использования демонами.
Томасруттер

1
@neon_overload, что вы рекомендуете
aWebDeveloper

1
Что бы вы порекомендовали @neon_overload?
Banago

1
@Banago personnaly Я рекомендую +1 :)
Камил

-2
sudo adduser $USER www-data
sudo chown root:root /var/www


sudo chown -R $USER:www-data /var/www/*
sudo chmod -R 755 /var/www

4
В зависимости от содержимого использование -Rфлага может быть вредным . Поскольку OP не использовал -Rфлаг, мы не должны рекомендовать его для исправления неправильных разрешений, которые они создали. -RФлаг редко полезно!
Занна
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.