Решение Вы сделали предложение:
Restrict access for each user to every file on filesystem except files dedicated to him
та же идея chroot. chroot тюрьма препятствует тому, чтобы процесс получил доступ к системным файлам кроме файлов в его новом корне.
Предоставленные вами файлы предоставляют ответьте на два, которые вы ищете. Файл apache2.conf имеет следующие директивы: Пользователь $ {APACHE_RUN_USER}
и Группа $ {APACHE_RUN_GROUP}
. В envars каждой из этих переменных среды присваивается значение: www-data
, которое является значением по умолчанию для дистрибутивов на основе Debian, таких как Ubuntu и Mint.
Эти конфигурации определяют пользователя и группу, в которой предоставлены разрешения apache. Чтобы иметь возможность обслуживать файлы, apache должен иметь возможность читать эти файлы. Следовательно, каталог / var / www
принадлежит пользователю www-data
и группе www-data
.
Для внешнего пользователя, чтобы иметь возможность писать на каталог, пользователь должен либо:
www-data
(не рекомендуется) , либо
www-data
group (лучшее решение). Единственная альтернатива - включить пользовательские каталоги, чтобы позволить Apache обслуживать определенный каталог в домашнем каталоге пользователя (и принадлежащий пользователю) для внешнего мира. URL-адреса, обслуживаемые таким образом, традиционно выглядели так:
http://example.com/~username/index.html