Как в Linux добавить пользователя в группу (или вторичную группу)

Alexey 16.09.2017 0 Системное администрирование getent, groupadd, id, usermod, группы в Linux, интерфейс командной строки (CLI)

Справочная информация / документация

  1. man

    (Manual). Показывает инструкцию к программам и командам Linux. Чтобы получить руководство для программы, наберите:

    man имя_программы

    Для инструкции по команде, введите:

    man имя_команды

  2. whatis

    Выводит краткое описание программы. Пример:

    whatis имя_программы

  3. whereis

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

    whereis имя_программы

    Также даёт информацию о связанной с программой справочной информации.

  4. file

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

  5. —help

    Вся необходимая информация о команде будет доступна, если набрать:

    имя_программы —help

  6. whoami

    Команда показывает действительный идентификатор пользователя (UID).

  7. TAB

    Показывает варианты автозавершения команды. Нажатие клавиши табуляция после определённой команды или их последовательности выводит подсказку с вариантами возможного продолжения команды.

  8. Ctrl + R

    Это сочетание клавиш помогает запустить обратный поиск по всем параметрам, связанным с указанной командой. Достаточно лишь указать ключевое слово для поиска. Есть серьёзный минус – за раз можно увидеть только 1 результат. Выйти из режима реверсивного поиска поможет комбинация Ctrl + C.

Синтаксис

Для удаления пользователей в операционных системах Линукс, используются две похожие команды userdel в Centos и deluser в Debian.

userdel

Рассмотрим синтаксис.

userdel [опции] имя пользователя

Опции:

  • f или —force — принудительное удаление.
  • -h или —help — справочная информация.
  • -r или —remove — стереть домашний каталог юзера.
  • -Z или —selinux-user стереть SELinux объекты юзера.

deluser

Параметры утилиты лежат в файле /etc/

Основные параметры:

  • REMOVE_HOME — очистить домашний каталог.
  • REMOVE_ALL_FILES — очистить все файлы.
  • BACKUP — бэкап файлов.
  • BACKUP_TO — папка для бэкапа.
  • ONLY_IF_EMPTY — очистить группу юзера при условии, что папка пустая.

Примеры

Для примера, удалим пользователя polzovatel

userdel polzovatel

При выполнении, утилита обратится к , который находится по адресу /etc/ Значения, записанные в данном файле, определяют начальные опции программы userdel. Если переменная USERGROUPS_ENAB имеет значение «yes», то будет удалена группа, с пользовательским именем, которое системный администратор вбил в команду. Но при условии, что больше в этой группе нет других пользователей.

Информация о пользователе будет также удалена из файлов:

  1. /etc/passwd;
  2. /etc/shadow;

Следует учитывать то, что в большинстве дистрибутивов Linux команда userdel не стирает домашний каталог и почтовый спул пользователя.

Для того, чтобы это исправить необходимо передать параметр –r. Выглядеть такая операция будет так:

userdel –r polzovatel

Но даже в таком виде утилита не удалит файлы из других файловых систем. Сделать это придётся вручную.

Если человек, запись которого необходимо удалить, зашёл в ОС, то уничтожить его аккаунт привычным способом не получится. Здесь существует два возможных пути решения:

  1. Выйти из ОС и принудительно закрыть все активные юзерские программы. Для этого понадобится утилита killall – sudo killall –u polzovatel. По выполнению этой команды, можно удалять учетку пользователя.
  2. Передать параметр –f утилите userdel. Эта опция позволяет в принудительном режиме избавиться от аккаунта, даже если человек залогинился или имеются активные пользовательские программы.

userdel –f polzovatel

Вывод

Как видите, стереть учетку юзера в Linux очень просто. Для этого достаточно знать, как вводятся простейшие команды в терминал, и как им передавать различные параметры. Даже начинающий сисадмин с лёгкостью справится с этим.

Управление группами

Создание группы

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

sudo groupadd testgroup

Основные ключи:

Ключ Описание
-g Установить собственный GID.
-p Пароль группы.
-r Создать системную группу.

Изменение группы

Сменить название группы, ее GID или пароль можно при помощи groupmod. Пример:

sudo groupmod -n newtestgroup testgroup #Имя группы изменено с testgroup на newtestgroup

Опции groupmod:

Ключ Описание
-g Установить другой GID.
-n Новое имя группы.
-p Изменить пароль группы.

Удаление группы

Удаление группы происходит так:

sudo groupdel testgroup

groupdel не имеет никаких дополнительных параметров.

Как просмотреть все группы в системе

Если вы хотите просмотреть список всех групп в вашей системе, вы можете использовать команду getent:

getent group

Как просмотреть все группы в системе

Этот вывод также покажет вам, какие учетные записи пользователей являются членами групп. Итак, на скриншоте ниже мы видим, что учетные записи пользователей syslog и mial являются членами группы adm.

Это должно охватывать все, что вам нужно знать о добавлении пользователей в группы в командной строке Linux.

Связанные статьи:

  • Как вывести список пользователей в Linux (71.8%)
  • Какие есть полезные инструменты с интерфейсом командной строки для системных администраторов Linux (52.8%)
  • Подстановочные символы, раскрытие, использование кавычек и экранирование символов в Bash (52.8%)
  • Как найти дубликаты файлов на Linux с помощью dupeGuru (50%)
  • Как записать терминальную сессию (50%)
  • Как подключиться к сетевой папке в командной строке Linux (RANDOM — 50%)
Читайте также:  Linux Mint 20 «Ульяна»: новые функции и дата выпуска