Пользователи и группы Linux для сервера LAMP

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
6
0
5 192
5

Ответы 5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по теме