Пользователи и группы Linux для сервера LAMP - PullRequest
6 голосов
/ 06 октября 2008

Каков наилучший способ настройки сервера LAMP с точки зрения пользователей и групп linux? Если на одном сервере размещено несколько сайтов, лучше всего иметь одного пользователя, которому принадлежат все исходные файлы сайта (и загрузки), находящиеся в одной группе с Apache, или иметь разных пользователей для каждого сайта (чтобы у каждого сайта есть свой crontab)? Или что-то еще целиком?

По какой-то причине этот вопрос, кажется, никогда не рассматривается в книгах по PHP / MySQL / Linux, с которыми я сталкивался.

Ответы [ 5 ]

1 голос
/ 06 октября 2008

Если это небольшое количество больших сайтов, вы можете обнаружить, что разделение вашего сервера на несколько виртуальных машин с использованием чего-то вроде Xen - лучший вариант, чем просто разделение по пользователям. Это улучшит изоляцию ваших сайтов и облегчит перенос сайта на собственное оборудование, если в будущем один из них станет намного тяжелее в использовании ресурсов, чем другие.

1 голос
/ 06 октября 2008

На нашей платформе каждый htdocs и т. Д. Имеет своего пользователя. Это означает, что если один сайт взломан, то с другими все должно быть в порядке.

0 голосов
/ 20 мая 2014

В течение нескольких лет я занимался хостингом на небольшом уровне, и мой ответ «Это зависит».

Прежде всего, существует разница между модулем Apache (mod_php). CGI и FastCGI. Хороший список со всеми плюсами и минусами можно найти здесь: Apache php mode

Когда дело касается безопасности, у всех режимов есть свои плюсы и минусы.

Поскольку мы размещали относительно небольшое количество доменов с умеренным трафиком, я решил остаться с mod_php и использовал конфигурацию vhost.

Я также использовал разных пользователей FTP для каждого корневого каталога vhost (конечно).

Настройка vhosts (по одному на каждого клиента) позволяет вам легко отключать домены, не копаясь в смехотворно большом httpd.conf и не вызывая ошибок на пути.

0 голосов
/ 02 марта 2014

Лучший выбор - создать VirtualHost для каждого домена, используя Apache с модулем suPHP. Таким образом, каждый сайт будет принадлежать пользователю и запускаться с разрешения этого пользователя. Webroot каждого сайта должен быть помещен в домашний каталог пользователя, чтобы предотвратить локальную атаку.

Если вы используете одного и того же пользователя для каждого веб-сайта, это означает, что пользователь с веб-сайта A может получить доступ для чтения / записи к файлам веб-сайта B.

0 голосов
/ 06 октября 2008

Я предполагаю, что вы не хотите сходить с ума и получить WHM для cPanel и, возможно, захотите сделать это неопытно.

Я думаю, что лучше всего, чтобы каждый пользователь имел доступ к своему пространству от своего имени пользователя и группы, особенно если несвязанные пользователи могут использовать веб-сервер.

Если у вас более 10 доменов и пользователей и вы хотите, чтобы учетные записи были отделены от их собственного пространства, я хотел бы рассмотреть возможность использования Webmin с VirtualMin, установленным на сервере. Это легко решает такие проблемы в рамках бесплатной бесплатной установки. В противном случае вам придется купить коммерческий продукт или обработать все вручную - настоящая боль, но это может быть сделано (не рекомендуется для коммерческого предприятия).

Кроме того, Xen и VMS могут быть излишними, но и не такими простыми в управлении, как Webmin / VirtualMin для учетных записей 10-100+.

...