Как установить безопасные полномочия для многочисленных пользователей и нескольких веб-сайтов?

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

4
13.05.2016, 20:11
2 ответа

Один путь был бы этим:

  • Имейте группу для каждого сайта, имейте людей в том использовании группы umask 0002 таким образом, файлы, которые они создают, являются чтением-записью для группы и читаемый для других по умолчанию.
  • chmod a-rwx корневой каталог каждого сайта, для предотвращения доступа людьми вне разрешенной группы.
  • Включите ACLs для своей файловой системы, и setfacl -m user:apache:rx тот каталог для предоставления доступа для чтения к apache пользователь, в дополнение к другим полномочиям.

Относительно файлов, созданных апачским процессом:

  • Чтение файлов, созданных апачским пользователем, должно быть возможно для соответствующей группы, пока они создаются читаемые миром.
  • Удаление файлов возможно, пока они находятся в перезаписываемом группой каталоге.
  • Если это недостаточно, Вы могли бы позволить Вашим пользователям sudo апачскому пользователю. Возможно, только, чтобы выполнить определенные команды, например, добавить группу пишут полномочия с помощью ACLs.

Но поскольку Вы заявили, все ограничения чтения могут обойтись, если пользователи могут запустить произвольные скрипты как апачский пользователь. Для противостояния этому Вы могли попытаться иметь сценарии одного сайта, выполняемого как определенный пользователь в соответствующей группе. Я полагаю, что существует способ установить это использование mod_fcgid. Иначе apache[suexec] и php[cgi] мог бы работать на Вас.

Для получения еще лучшей изоляции у Вас должно было бы быть несколько апачских процессов, работая как различные пользователи, и возможно даже chrooted к различным каталогам. Или в различных единицах OpenVZ или другом Xen domUs, или на других аппаратных средствах. Как Вы видите, существует много различных уровней изоляции, каждой обеспечивающей лучшей изоляции, чем та прежде, за счет mre требований к ресурсам.

2
27.01.2020, 21:00

Обычным решением для этого является suPHP.

0
27.01.2020, 21:00

Теги

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