nologin
не берет аргументов и широко доступен на Linux и BSD.
На CentOS 4 и 5, arch
команда не берет аргументов. На других дистрибутивах Linux дуга теперь обеспечивается GNU coreutils, который берет - версия и - справка. С CentOS 4 и 5 это прибывает от util-linux, который отличается от версии GNU.
Много вещей в GNU coreutils берет только - справка и - версия при рассмотрении различных Unixes, которые не используют GNU coreutils, они не принимают аргументов: sync
, true
, false
, whoami
, pwd
, groups
, users
Один путь был бы этим:
umask 0002
таким образом, файлы, которые они создают, являются чтением-записью для группы и читаемый для других по умолчанию.chmod a-rwx
корневой каталог каждого сайта, для предотвращения доступа людьми вне разрешенной группы.setfacl -m user:apache:rx
тот каталог для предоставления доступа для чтения к apache
пользователь, в дополнение к другим полномочиям.Относительно файлов, созданных апачским процессом:
sudo
апачскому пользователю. Возможно, только, чтобы выполнить определенные команды, например, добавить группу пишут полномочия с помощью ACLs.Но поскольку Вы заявили, все ограничения чтения могут обойтись, если пользователи могут запустить произвольные скрипты как апачский пользователь. Для противостояния этому Вы могли попытаться иметь сценарии одного сайта, выполняемого как определенный пользователь в соответствующей группе. Я полагаю, что существует способ установить это использование mod_fcgid
. Иначе apache[suexec]
и php[cgi]
мог бы работать на Вас.
Для получения еще лучшей изоляции у Вас должно было бы быть несколько апачских процессов, работая как различные пользователи, и возможно даже chrooted к различным каталогам. Или в различных единицах OpenVZ или другом Xen domUs, или на других аппаратных средствах. Как Вы видите, существует много различных уровней изоляции, каждой обеспечивающей лучшей изоляции, чем та прежде, за счет mre требований к ресурсам.