Введение / Зачем это нужно
Управление учетными записями пользователей и группами — базовый навык для любого администратора Linux. С помощью нескольких команд вы сможете создавать, модифицировать и удалять пользователей, организовывать их в логические группы и управлять правами доступа. После выполнения этого гайда у вас будет полный контроль над авторизацией в системе, что пригодится как на домашнем сервере, так и в производственной среде.
Требования / Подготовка
- Доступ к системе Linux с правами root (или пользователя, имеющего
sudoбез запроса пароля). - Дистрибутив должен иметь базовые инструменты
useradd,groupadd,usermod,userdel,adduser(установлены по умолчанию в большинстве дистрибутивов). - Убедитесь, что необходимый UID и GID не используются повторно.
Если вы работаете с Debian/Ubuntu, убедитесь, что пакет adduser установлен (sudo apt install adduser). В RHEL/CentOS аналогичный пакет — passwd.
⚠️ Важно: Все команды ниже выполняются от имени root или через
sudo. Неправильное использование может привести к потере доступа к системе.
Пошаговая инструкция
Шаг 1: Создать группу
sudo groupadd developers
Команда добавляет группу developers в /etc/group с автоматически сгенерированным GID.
Шаг 2: Создать пользователя и добавить в группу
sudo adduser --ingroup developers alice
Интерактивный мастер запросит пароль для нового пользователя, а также необязательные данные (имя, номер телефона). Пользователь alice будет создан с начальным UID, сгенерированным системой.
Шаг 3: Назначить права администратора (sudo)
sudo usermod -aG sudo alice
Пользователь alice добавляется в группу sudo. Теперь он может выполнять любые команды с использованием sudo без запроса пароля root (если sudo настроен соответствующим образом).
Шаг 4: Проверить список групп пользователя
groups alice
Результат примерно такой:
alice : alice sudo developers
Это подтверждает, что пользователь входит в группы sudo и developers.
Шаг 5: Удалить пользователя и группу
sudo userdel alice
sudo groupdel developers
Пользователь удаляется из /etc/passwd, /etc/shadow. Группа удаляется, только если она пуста. Если группа всё ещё содержит пользователей, сначала вызовите:
sudo deluser alice developers
а затем удалите группу.
Проверка результата
После выполнения всех шагов:
- Новый пользователь
aliceсуществует (id alice). - Пользователь входит в группу
developers(groups alice). - Пользователь имеет права sudo (
sudo -l -U alice).
Если что-то не отображается, проверьте наличие пользователя (grep alice /etc/passwd) и группы (grep developers /etc/group). Используйте id alice, чтобы получить полную информацию оGID, UID и группах.
Возможные проблемы
- Ошибка:
group already exists– группа с таким именем уже существует. Используйте существующую группу или удалите её перед повторным созданием (groupdel). - Ошибка:
user already exists– пользователь уже создан. Используйтеusermodдля изменения свойств вместоadduser. - Ошибка:
sudo: alice: не найден в /etc/sudoers– убедитесь, что пользователь действительно добавлен в группуsudo. Запуститеusermod -aG sudo aliceповторно. - Ошибка:
cannot remove group developers: not empty– в группе всё ещё есть пользователи. Перечислите их:getent group developers. Удалите пользователей (userdelилиdeluser) перед удалением группы.