Как я устанавливаю значение по умолчанию umask в Apache на Debian?

Ось делает некоторые довольно хорошие продукты.

Камерой управляет внутренний веб-сервер, на котором Вы также следуете за живым каналом.

У Вас могут быть некоторые примеры этого веб-сервера путем поиска с помощью Google "Предпросмотра в реальном времени - / - ОСЬ" (с кавычками) или "ось indexFrame.html" (без кавычек).

14
задан 6 December 2016 в 23:58
3 ответа

Чтобы убедиться, что настройка umask вступила в силу, используйте простой тест и не используйте другие веб-приложения. для этого. Возможно, это приложение меняет права независимо от настройки umask в Apache.

Простой тестовый PHP-скрипт:

<?php
if ($fp = fopen(time() . '.txt', 'w')) {
  fwrite($fp, 'This is a simple test.');
  fclose($fp);
  echo "done";
} else {
  echo "error - cannot create file";
}
?>

Позаботьтесь, чтобы пользователь www-data имел права записи в папку, в которую вы установили этот простой тестовый файл.

Чтобы запустить новую umask, проверьте, будет ли использоваться файл / etc / apache2 / envvars в стартовом файле Apache /etc/init.d/apache2:

...
PIDFILE=$(. /etc/apache2/envvars && echo $APACHE_PID_FILE)
...

Установите маску в / etc / apache2 / envvars:

...
# umask 002 to create files with 0664 and folders with 0775
umask 002

Перезагрузите Apache:

service apache2 restart

Проверьте разницу:

#> ls -l *.txt
-rw-rw-r-- 1 www-data www-data  14 2012-05-01 15:56 1335880583.txt
-rw-r--r-- 1 www-data www-data  14 2012-05-01 15:55 1335880540.txt
11
ответ дан 2 December 2019 в 21:12

Если вы запускаете несколько сайтов, вы можете установить групповые разрешения по умолчанию, используя списки контроля доступа (ACL) для каждого каталога следующим образом:

Установить setid флаг, чтобы заставить все новые файлы наследовать группу из каталога:

# chmod g+s wordpress

Сделать новые файлы иметь rw для групповых разрешений, например. так что www-data может записывать в файлы, SFTP-отправленные пользователем загрузки:

# setfacl --default --modify group::rwx wordpress 

Подтвердите, что ACL имеет такой вид:

# getfacl wordpress
# file: wordpress
# owner: carissacosgrove
# group: www-data
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x

Создайте файл, чтобы подтвердить, что он работает:

# ll test
-rw-rw-r-- 1 root www-data 0 Feb 17 01:09 test
2
ответ дан 2 December 2019 в 21:12

(Для Debian Stretch, который использует systemd - спасибо womble!)

Поместите UMask=0002 в файл сервисного модуля Apache2 systemd, перезагрузите сервисный модуль, а затем перезапустите апач2.

$ pwd
/etc/systemd/system/multi-user.target.wants

$ cat apache2.service
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target

[Service].
.
.
.
UMask=0002

$ sudo systemctl daemon-reload
$ sudo systemctl restart apache2
2
ответ дан 16 December 2019 в 20:08

Теги

Похожие вопросы