Мне определили местоположение каталога веб-сервера в /var/www/web
. В одном из файлов, скажем, create_dir.php
, Я создаю каталог с mkdir()
. Я получаю следующее сообщение.
Предупреждение: mkdir (): Разрешение, отклоненное в/var/www/web/create_dir.php на строке 122
Теперь, я могу петлять, когда я - владелец файла или каталог. Но, когда я не владелец, я не могу отредактировать файлы в PhpStorm.
Моего пользователя звонят josh
и apache2 пользователь является значением по умолчанию, www-data
.
Я по существу должен сделать группу или специального/волшебного пользователя, который позволит мне выполнять и редактировать файлы каждый раз, когда.
Примечание: Я посмотрел на этот ответ суперпользователя, и он не работал на меня. Я выполнил эту команду для создания группы:
sudo groupadd website
Я выполнил эти команды для добавления пользователей:
sudo usermod -a -G website josh
sudo usermod -a -G website www-data
Я выполнил эту команду для добавления его к веб-папке:
sudo chgrp -R website /var/www/web
Я выполнил эту команду и после того как я перезагрузил свой веб-сайт, я получил Запрещенное сообщение об ошибке.
sudo chmod -R 770 /var/www/web
Таким образом, я выполнил эту команду, чтобы смочь просмотреть веб-страницу:
sudo chmod -R 775 /var/www/web
И теперь я возвращаюсь к начальной ситуации.
Любая справка ценится.
Общие каталоги в Linux могут путать из-за владения и полномочий.
Для этого определенного каталога, /var/www/html/
здесь уже существует ответ
Как избегать использования sudo при работе в/var/www?
Поэтому сделайте обоих пользователей членом www-data
. По моему скромному мнению, никакая потребность сделать новую группу.
Для управления полномочиями и принадлежностью файла установите группу и setGID
sudo chgrp -R www-data /var/www/html
sudo chmod 2770 /var/www/html
Для получения дополнительной информации см. https://www.gnu.org/software/coreutils/manual/html_node/Directory-Setuid-and-Setgid.html
... if a directory’s set-group-ID bit is set, newly created subfiles inherit the same group as the directory ...
Перезапустите свою оболочку или выйдите из системы и въезжайте задним ходом для членства для вступления в силу.
При необходимости в более прекрасной мелкой частице управления, можно использовать ACL, но это - вероятно, излишество.
Поскольку дополнительная информация о ACL видит https://help.ubuntu.com/community/FilePermissionsACLs и http://brunogirin.blogspot.com/2010/03/shared-folders-in-ubuntu-with-setgid.html
Та вторая ссылка конкретно рассматривает этот точный вопрос, как совместно использовать/var/www/html, с помощью setGID и ACL.