После создания нового сервера Linux основными задачами, которые необходимо выполнить, являются создание и удаление пользователей. Сначала на новом сервере есть только стандартная учетная запись root. Этот пользователь обладает привилегиями администратора, потому использовать root на регулярной основе опасно – все команды, запущенные через root, влияют на всю файловую систему сервера.
Потому для выполнения рутинных задач лучше создать непривилегированного пользователя. Кроме того, нужно создать дополнительные учетные записи для каждого пользователя, который должен иметь доступ к серверу (это в первую очередь необходимо для того, чтобы иметь возможность контролировать и управлять ими). При помощи инструмента sudo можно расширить привилегии любого пользователя до административных. Данное руководство охватывает создание и удаление учетных записей пользователей на сервере CentOS 7, а также передачу привилегий sudo.
Создание пользователей
Если текущим пользователем является root, для создания нового пользователя введите команду:
adduser username
Если же текущим является пользователь с привилегиями sudo (об этом – в следующем разделе), запустите следующую команду, которая создаст новую учетную запись:
sudo adduser username
Затем нужно установить пароль для нового пользователя. Для этого используйте команду passwd.
passwd username
Примечание: Не забудьте добавить Sudo в начале команды, если текущим является пользователь с расширенными привилегиями.
Пароль нужно будет ввести повторно, чтобы подтвердить его. Готово! Теперь новая учетная запись пользователя настроена и готова к использованию.
Передача привилегий Sudo
Если новому пользователю нужно иметь возможность выполнять команды с правами root, нужно предоставить ему доступ к sudo.
Для этого нужно добавить пользователя в группу wheel (все пользователи, помещенные в эту группу, могут пользоваться sudo) с помощью команды gpasswd. Это самый безопасный и простой способ управления правами sudo.
Итак, если текущим является root, введите:
gpasswd -a username wheel
Если текущим является пользователь с привилегиями sudo:
sudo gpasswd -a username wheel
Теперь новый пользователь имеет возможность запускать команды с правами администратора. Для этого нужно просто начинать команду с sudo:
sudo some_command
При этом будет предложено ввести пароль учётной записи текущего пользователя, после чего команда будет выполнена с расширенными привилегиями.
Управление пользователями с привилегиями Sudo
Команда gpasswd позволяет добавлять пользователей в группу (например, wheel) и удалять их из группы, но при этом команда не показывает, какие пользователи состоят в группе. Чтобы узнать, какие пользователи состоят в группе wheel, используйте функцию lid. Как правило, lid используется для того чтобы просмотреть группы, в которых состоит определенный пользователь, но флаг –g способен обратить действие команды, и тогда она покажет, какие пользователи состоят в определенной группе.
sudo lid -g wheel
На экране появится список пользователей, которые принадлежат этой группе. Таким образом, эта команда способна подтвердить, что предыдущие команды были выполнены успешно, и что нужные пользователи имеют расширенные привилегии.
Удаление пользователей
Все ненужные учетные записи рекомендуется удалять. Для этого существуют следующие команды.
Чтобы удалить пользователя, но сохранить все его файлы, запустите как root:
userdel username
Чтобы удалить домашний каталог вместе с учетной записью пользователя, введите как root:
userdel -r username
Примечание: если текущим является пользователь с привилегиями sudo, внесите команду sudo в начало строки.
Обе вышеприведенные команды удаляют пользователя изо всех групп, в которых он состоял (например, из группы wheel). Если в будущем в системе появится пользователь с таким же именем, его нужно будет повторно добавить в группу wheel, чтобы предоставить ему привилегии sudo.
Итоги
Эффективное управление пользователями позволяет разделить пользователей на группы и предоставить им доступ в необходимых пределах. Теперь можно перейти к установке на сервер CentOS 7 любого нужного программного обеспечения, например, программных групп LAMP или LEMP.