Добавление и удаление пользователей в Ubuntu 18.04

Управление пользователями – один из самых базовых и самых важных навыков системного администратора среды Linux. Как правило, в новой системе по умолчанию существует только один пользователь – это root.

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

Данный мануал научит вас создавать аккаунты новых пользователей, передавать права sudo и удалять пользователей.

Требования

Для работы вам понадобится сервер Ubuntu 18.04, предварительно настроенный по этому мануалу.

1: Добавление пользователя

Чтобы создать нового пользователя в сессии root, введите:

adduser newuser

Находясь в сессии не-root пользователя с доступом к команде sudo, можно добавить нового пользователя с помощью команды:

sudo adduser newuser

Эта команда предложит:

  • Установить и подтвердить пароль.
  • Указать дополнительные данные о пользователе. Это опционально; чтобы принять информацию по умолчанию, просто нажмите Enter.
  • Подтвердить предоставленную информацию (нажмите Y).

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

2: Настройка доступа к команде sudo

Чтобы иметь возможность использовать новый аккаунт для выполнения задач администратора, нужно разрешить новому пользователю доступ к команде sudo. Это можно сделать двумя способами:

  1. Добавить пользователя в группу sudo
  2. Отредактировать файл /etc/sudoers

Добавление пользователя в группу sudo

В системе Ubuntu 18.04 все пользователи, которые входят в группу sudo, по умолчанию имеют доступ к команде sudo.

Чтобы узнать, в какие группы входит ваш новый пользователь, введите:

groups newuser

Команда выведет:

newuser : newuser

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

usermod -aG sudo newuser

Флаг –aG добавляет пользователя в перечисленные в команде группы.

Редактирование файла /etc/sudoers

Еще один способ расширить привилегии пользователя – отредактировать файл sudoers. Для этого используется команда visudo, которая позволяет открыть файл /etc/sudoers в редакторе и явно задать привилегии каждого пользователя в системе.

Редактировать файл sudoers рекомендуется исключительно через visudo, поскольку эта команда блокирует внесение одновременных правок и выполняет проверку файла перед перезаписью. Это предотвращает ошибки в настройке sudo, которые могут повлечь за собой потерю всех привилегий.

Если вы находитесь в сессии root, введите команду:

visudo

В сессии не-root пользователя с доступом к sudo введите:

sudo visudo

Как правило, visudo открывает файл /etc/sudoers в редакторе vi, сложном для новичков. По умолчанию в новых установках Ubuntu visudo использует более простой редактор nano. Для перемещения курсора используйте клавиши со стрелками. Найдите такую строку:

root    ALL=(ALL:ALL) ALL

Скопируйте эту строку и вставьте её ниже, указав вместо root имя пользователя, которому нужно передать права суперпользователя.

root    ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL

Добавьте такую строку для каждого пользователя, которому нужны расширенные привилегии. После этого сохраните и закройте файл.

Тестирование настройки

Теперь нужно убедиться, что новый пользователь имеет доступ к sudo.

По умолчанию команды в сессии нового пользователя запускаются так:

some_command

Чтобы выполнить команду с правами администратора, добавьте sudo в начало:

sudo some_command

При этом система запросит пароль вашего текущего пользователя.

3: Удаление пользователей

Ненужные аккаунты можно удалить из системы.

Чтобы удалить пользователя, оставив его файлы, введите такую команду:

как root

deluser newuser

как пользователь с расширенными привилегиями:

sudo deluser newuser

Чтобы удалить пользователя вместе с его домашним каталогом и всеми файлами, используйте:

Как root:

deluser --remove-home newuser

как пользователь с расширенными привилегиями:

sudo deluser --remove-home newuser

Если удалённый пользователь обладал правами суперпользователя, нужно отнять эти права. Снова отредактируйте файл:

visudo

Или

sudo visudo
root    ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL   # удалите эту строку

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

Заключение

Управление пользователями – очень важный навык в администрировании сервера Ubuntu 18.04. Он позволяет отделять пользователей и передавать им только необходимый диапазон привилегий.

Дополнительную информацию о настройке sudo можно найти в нашем мануале Редактирование файла sudoers в Ubuntu и CentOS.

Tags: ,