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

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

sudo chmod 777 /var/www

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

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

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

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

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

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

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

chmod 755 /var/www/

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

chmod 644 /var/www/file

Убедитесь, что в группе есть www-данные на '/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]ORusermod -a -G www-data [USERNAME]

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

sudo chown [USERNAME] /var/www/

как бы то ни было (я могу ошибаться - нужно провести дополнительное тестирование), убедитесь, что файлы, которые вы передаете, "принадлежат" пользователю, который входит в систему на ОБЕИХ машинах. итак, для /var/www/website webdir на исходном компьютере принадлежит кевину, а пользователем на компьютере dest тоже был я. я проведу дальнейшее тестирование, как только у меня будет время. Спасибо

sudo adduser $USER www-данные
sudo chown root:root /var/www


sudo chown -R $ПОЛЬЗОВАТЕЛЬ:www-data /var/www/*
sudo chmod -R 755 /var/www

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

Я не являюсь участником serverfault, поэтому я не мог прокомментировать или поддержать ответ. Но этот пост действительно подтверждает это: apache 2.2 - What permissions should my website files/folders have on a Linux webserver? - Server Fault