Мне нужны файлы, созданные apache2, чтобы 002
по умолчанию иметь umask , т.е. группу rw.
Я попытался поместить umask 002
в / etc / apache2 / envvars, и хотя этот скрипт выполняется как часть запуска apache ( apache2ctl graceful
), umask не имеет никакого эффекта. Предположительно где-то дальше в процессе запуска (например, когда пользователь понижен с root
до www-data
), есть где-то лучше поставить это.
Я читал посты о Fedora, и один предлагал добавить umask, /etc/init.d/apache2
но ни один из них не применяется / не работает в Debian (Squeeze).
Вы можете помочь?
apache-2.2
umask
artfulrobot
источник
источник
drush cc all
как мой пользователь, потому что он выдает ошибки во всех этих файлах кэша, созданных www-данными.Ответы:
Чтобы убедиться, что настройка umask вступает в силу, используйте простой тест и не используйте для этого никаких других веб-приложений. Может случиться так, что эти приложения изменяют права независимо от настроек Apache umask.
Простой тестовый скрипт PHP:
Позаботьтесь о том, чтобы у пользователя www-data был доступ на запись в папку, в которую вы установили этот простой тестовый файл.
Чтобы запустить новый umask, проверьте, будет ли файл / etc / apache2 / envvars использоваться в вашем стартовом файле Apache /etc/init.d/apache2:
Установите ваш umask в / etc / apache2 / envvars:
Перезагрузите ваш Apache:
Проверьте разницу:
источник
Если вы запускаете несколько сайтов, вы можете установить разрешение группы по умолчанию, используя списки контроля доступа (ACL) для каждого каталога, например так:
Установите
setid
флаг, чтобы заставить все новые файлы наследовать группу из каталога:Сделать новые файлы
rw
для группы прав доступа, напр. так чтоwww-data
можете записывать в файлы SFTPed пользователем загрузки:Убедитесь, что ACL выглядит так:
Создайте файл, чтобы подтвердить, что он работал:
источник
setfacl --default --modify group:rwx wordpress
отсутствует двоеточие. Так и должно бытьsetfacl --default --modify group::rwx wordpress
(Для Debian Stretch, которая использует systemd - Спасибо, womble!)
Поместите
UMask=0002
в файл системного модуля Apache2 systemd, перезагрузите сервисный модуль и перезапустите Apache2.источник