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