Я предполагаю, что трудность состоит в том, что корневые каталоги не публично исполняемы в Вашей среде.
Можно поместить список управления доступом во все корневые каталоги, который дает конкретному пользователю или разрешению казни группы к каталогу. Веб-сервер затем потенциально сможет получить доступ к любому файлу в корневых каталогах пользователей, которые могут обеспечить способы нарастить полномочия (по крайней мере, это расширит влияние локальной уязвимости доступа к файлу). Например, в соответствии с Солярисом или Linux, удостоверьтесь, что домашняя файловая система смонтирована с acl
опция, и выполненный
setfacl -m user:www-data:x /home/*
(интегрируйте это в свою установку создания учетной записи). Затем скажите Вашим пользователям что их ~/public_html
каталог должен быть читаемым www-data
пользователь; они могут выполнить эту команду:
setfacl -R -m default:user:www-data:rx ~/public_html
setfacl -R -m user:www-data:rx ~/public_html
Другая возможность состоит в том, чтобы смонтировать всех пользователей public_html
каталоги в отдельном месте в файловой системе. Этот подход имеет преимущество, что полномочия на корневых каталогах не будут иметь значения; это даже позволяет веб-серверу выполнять chroooted. В соответствии с Linux, можно сделать это для корневого каталога:
mount --bind /home/joe/public_html /srv/homepages/joe
public_html
каталог и его содержание все еще должны быть сделаны доступными для www-data
.
Вариант на Linux связывает, монтируют, что метод использует bindfs файловую систему. Этот метод работает над любой ОС, которая поддерживает bindfs (который является большинством нельдов), и не требует никаких настроек ACL, по стоимости что любой файл под public_html
будет сделан доступным для чтения веб-сервером.
bindfs -u www-data -p 500 /home/joe/public_html /srv/homepages/joe
/etc/squid/white.acl
Поместите следующие данные там:
finam.ru/analysis/.* finam.ru/.*\.js finam.ru/.*\.css
Поместите этот код в squid.conf
. Необходимо поместить белый список перед черным списком:
acl good_url url_regex "/etc/squid/white.acl" http_access allow good_url acl bad_url url_regex "/etc/squid/block.acl" http_access deny bad_url