Создаём пользователей для веб-сервера

Нет ничего проще, чем добавить пользователя на свой сервер. Просто введите консольную команду adduserи ответить на несколько вопросов, включая пароль, после чего вы войдете в систему под своим именем пользователя и паролем и сможете размещать файлы и т.д.

Затем вам нужно будет создать папки вручную. Например, один для вашего сайта. Еще один для временных файлов. Чтобы не бросать их в общий /tmp для защиты. еще один для сессии, если в Redis не установлен кэш. Вам также нужно будет скопировать соответствующие файлы конфигурации, например, открытый ключ ssh для аутентификации.

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

Основные настройки, определяемые командой adduserберется из файла /etc/adduser.conf.

Изменяем домашнюю папку

Изначально домашние папки всех пользователей находятся в каталоге /home. Однако можно предварительно определить местоположение, используя другие папки, например, /var/www. Для этого используйте DHOME.

DHOME=/var/www

Обратите внимание на опции SKEL=/etc/skel. Это определяет, откуда копируются конфигурационные файлы и папки каждого пользователя. Возможно, вы видели такие файлы, как .profile и .bashrc в папке пользователя вашего сервера. Они скопированы из этого источника. :)

Добавление пользователей в единую группу

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

Если вы создаете пользователя для размещения вашего сайта, только ему должно быть разрешено редактировать/удалять файлы. Веб-серверы, такие как nginx или apache, должны работать под отдельным пользователем, доступным только для чтения. Никакой другой пользователь не должен иметь никаких прав.

Читайте также:  Как набрать знак Евро на клавиатуре

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

Общей группой будет группа пользователей www-data. Он разработан специально для запуска веб-сервера с максимально ограниченными привилегиями и не может использовать оболочку.

В файле adduser.conf необходимо сначала запретить создание групп с одинаковым именем при создании пользователя.

USERGROUPS=no

Затем укажите идентификатор группы www-data.

USERS_GID=33.

Обычно идентификатор равен 33. Однако вам нужно будет перепроверить это с помощью команд, запущенных от имени root. id www-data.

И это последний параметр, который нужно изменить в этом конфигурационном файле.

DIR_MODE=0710.

Здесь определяются разрешения для домашнего каталога пользователя, /var/www/username. Здесь владельцу файла разрешены все действия, группе разрешено только выполнение, и никакие другие люди не имеют прав.

Права для конкретного пользователя и дополнительные файлы

Теперь вам нужно продолжать предоставлять правильные разрешения, но в рамках одного пользователя. Чтобы сразу предоставить необходимые разрешения для создания файла или папки, используйте параметр umask в ваших файлах .bashrc и .profile.

umask 027

Для папок это будет интерпретировано как «0750», что дает владельцу файла право делать все, а группе — право на чтение и выполнение.

А для файлов — 0640: чтение/изменение для владельца, только чтение для группы; мы рекомендуем вам самостоятельно прочитать статью о разрешениях в Linux.

Также не забудьте обновить разрешения существующих файлов и папок в /etc/skel с помощью команды chmod.

Наконец, создайте дополнительные папки для сайтов, временных файлов, сессий и т.д. Файл authorized_keys и открытые ключи ssh должны быть помещены в папку .ssh пользователя. Полученная структура должна выглядеть следующим образом

/etc/skel -.ssh/ --authorized_keys -sessions/ -tmp/ -www/ -.bashrc -.profile

Все это будет скопировано в домашний каталог пользователя при его создании.

Читайте также:  Что значит буква Е в музыке ВК
Понравилась статья? Поделиться с друзьями:
Настройщик.ру