Как добавить пользователя в группу в Linux

В этом руководстве мы объясним, как добавить пользователя в группу в системах Linux. Мы также покажем вам, как удалить пользователя из группы и как создавать, удалять и перечислять группы.

Группы Linux

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

В операционных системах Linux есть два типа групп:

  • Основная группа — когда пользователь создает файл, группа файла устанавливается как основная группа пользователя. Обычно название группы совпадает с именем пользователя. Информация об основной группе пользователя хранится в /etc/passwd .

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

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

Только root или пользователи с доступом sudo могут добавлять пользователя в группу.

Типы групп в Linux

Выделим группы пользователей:

  1. Первичная (основная группа). После регистрации в системе пользователь автоматически попадает в эту группу. Зачастую название основной группы является идентичным имени юзера в Линукс. Пользователь может состоять только в одной первичной группе, без каких-либо исключений из правила.
  2. Вторичные группы. В процессе работы с устройством на базе ядра Linux пользователь может попасть в дополнительные группы. Количество вторичных групп для юзеров системы ограничено. Верхний лимит – 32 шт.

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

Как будет выглядеть синтаксическая структура нужной команды:

 usermod опции синтаксис

Основные опции:

  • -G – вторичные (дополнительные) группы для юзера системы;
  • -a – добавление юзера системы во вторичные группы из параметра, который был указан ранее (-G), вместо замены текущего значения;
  • -g – создание новой первичной группы для юзера системы. В неё попадут все файлы, которые хранятся в домашнем каталоге.

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

В целом, команда usermod способна предложить пользователю целое множество опций, но мы не станем рассматривать их целиком, ведь для решения актуальной проблемы можно ограничиться тремя опциями, указанными выше. Вместо этого рассмотрим процесс добавления пользователя в группу Линукс на примере. Допустим, нужно добавить пользователя «ya» в группу root.

# usermod -a -G root ya

Здесь:

  • root — имя группы, в которую нужно добавить пользователя;
  • ya — имя пользователя.

Наличие опции «-a» в данной комбинации – это своего рода защита системы от удаления ранее созданных групп. Эта опция должна стоять перед опцией «-G» в обязательном порядке, иначе программа наделает немало бед.

Где найти данные о пользователе Linux?

Чтобы найти нужную информацию о юзере системы, потребуется еще раз обратиться к терминалу. Ввести команду id и название пользователя.

$ id ya

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

Как добавить несколько вторичных групп? Введите комбинацию:

# usermod -a -G disks,vboxusers user

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

# usermod -g users user

Читайте также:  Apple выпустила iOS 11.4 Beta 4 для iPhone и IPad

Готово! Первичная группа пользователя изменена.

Как добавить пользователя в группу через GUI

Рассмотрим альтернативный метод решения данного вопроса для тех, кто не испытывает положительных эмоций во время работы с терминалом. На этот раз вам потребуется иметь дело с графическим интерфейсом. В данном случае для добавления пользователя в группу Линукс понадобится специальный инструмент – системная утилита system-config-users.

Чтобы установить её в CentOS, задайте такую комбинацию:

# yum install system-config-users

Установка завершена! Запустите инструмент через системное меню или при помощи терминала – выберите для себя наиболее удобный способ. Окно программы не перегружено информацией, поэтому вам не составит труда найти здесь нужное имя пользователя. Кликните по нему дважды, перепрыгните на вкладку под названием «Группы». В новом окне вы можете выполнить следующие действия:

  1. Изменить первичную группу;
  2. Выбрать галочками вторичные группы.

Заключение

Данная статья пригодится всем, кто не умеет работать с терминалом для добавления пользователя в группу Линукс, а также тем, кто хочет практиковать управление многопользовательской системой через графический интерфейс.

Подробнее о группе администратора и группе sudo на сервере Ubuntu

Члены административной группы могут получать привилегии root. Все члены группы sudo запускают любую команду на сервере Ubuntu. Поэтому просто добавьте пользователя в группу sudo на сервере Ubuntu. Возможности группы admin были значительно урезаны, начиная с версии Ubuntu и выше. Следовательно, admin группы больше не существует или она просто используется в версии Ubuntu или выше. Причина, по которой это работает:

# grep -B1 -i ‘^%sudo’ /etc/sudoers

ИЛИ

$ sudo grep -B1 -i ‘^%sudo’ /etc/sudoers

Примеры возможных выводов данных:

# Allow members of group sudo to execute any command %sudo    ALL=(ALL:ALL) ALL

Давайте посмотрим на некоторые практические примеры.

Создание пользователя в Linux Mint с помощью терминала

Для создания пользователей в Linux Mint существует команда useradd, у которой есть параметры, с помощью которых можно сразу настроить пользователя.

Для запуска терминала можно использовать «Меню -> Терминал» или «Меню -> Администрирование -> Терминал», также для быстрого запуска ярлык выведен на панель задач. Для добавления пользователей в систему необходимо запускать терминал от имени учетной записи с правами администратора (также как с использованием компонента «Пользователи и группы»).

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

sudo useradd alex –c «Алексей» –m –p Pa$$w0rd

В итоге мы создали пользователя alex с паролем Pa$$w0rd.

Описание параметров команды useradd

  • -b — базовый каталог для домашнего каталога новой учетной записи;
  • -c — комментарий, например реальное имя пользователя;
  • -d — домашний каталог, в котором будут размещаться файлы пользователя;
  • -D — показать или изменить настройки по умолчанию для useradd;
  • -e — дата, когда учетная запись пользователя будет заблокирована;
  • -f — после создания заблокировать учетную запись;
  • -g — основная группа пользователя;
  • -G — список дополнительных групп новой учетной записи;
  • -m — создать домашний каталог для пользователя, если он не существует. По умолчанию в директории /home, название каталога имя учетной записи;
  • -M — не создавать домашний каталог;
  • -N — не создавать группу с именем учетной записи;
  • -p — указать пароль для пользователя;
  • -h — полная справка по этой команде.

На заметку! Новичкам рекомендую почитать мою книгу «Linux для обычных пользователей» – в ней я максимально простым языком рассказываю про основы Linux и как пользоваться этой операционной системой без командной строки

Вот мы с Вами и научились создавать пользователей в операционной системе Linux Mint, надеюсь, материал был Вам полезен, удачи!

Нравится3

Не нравится

Другие распространенные варианты

Домашние каталоги

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

useradd -m test

Теперь у этого пользователя есть каталог /home/test.

Чтобы изменить домашний каталог, вы можете передать дополнительную опцию для изменения этого, например:

useradd -m -d /alternate test

Shell

По умолчанию созданные вами пользователи, скорее всего, будут иметь оболочку входа по умолчанию bin/bash или bin/sh, которая будет определена в /etc/default/useradd.

Вы можете переопределить это значение по умолчанию с помощью опции -s:

useradd -s usr/bin/zsh test

Как добавить пользователя в группу Linux

Чтобы провести добавление, можно воспользоваться 2-я способами, предложенными далее.

Через терминал

Так же, как и предыдущем шаге, для начала следует узнать о трех самых распространенных флагах при работе с обьединениями и учетными записями:

  • -G – управление дополнительными группами.
  • -a – указывает, что список объединений нужно оставить в исходном виде и добавить в него дополнительные наименования из ключа – G.
  • -g – изменяет основную группу пользователя (она уже должна быть создана и настроена).

Итак, чтобы в новую группу Ubuntu добавить пользователя, необходимо воспользоваться инструментом usermod, позволяющим редактировать параметры учетных записей. Для этого нужно прописать команду sudo usermod –a –G workusers username, где username является именем учетной записи, в нашем случае – fotpc.

Если же необходимо средствами Linux Ubuntu добавить пользователя в группу sudo, то сделать это можно, повторив команду выше, изменив ее вот так: sudo usermod –a –G sudo username. Готово.

Внимание! Важно не забывать про использование ключа -a, так как присутствие только -G уничтожит все присвоенные значения, созданные ранее, и в случае, например, с параметром root, может привести к неминуемым последствиям.

С помощью утилит

В каждом дистрибутиве используется собственное программное обеспечение для добавления и редактирования подобных параметров. В случае с самым известным, Ubuntu, необходим инструмент Gnome System Tools, который устанавливается командой sudo apt install gnome-system-tools.

После установки его можно найти в главном меню под именем Users and Groups.

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

Для того чтобы добавить пользователя в группу sudo в Linux, нужно выбрать нужного пользователя из списка слева и нажать «Управление группами».

После чего найти нужную в списке, выделить ее и нажать «Свойства».

И в разделе «Члены группы» поставить галочку напротив необходимых учетных записей.

Примечание

Добавления пользователя в группу в Debian работает аналогичным образом. Так как Ubuntu основывается именно на данном дистрибутиве, как и многие другие. Следует быть осторожным, добавляя пользователя в группу Root, так как эта привилегия дает полную власть над операционной системой.

Файл /etc/passwd – описание локальных учётных записей

Если в системе не используется какая-либо автоматизированная служба управления каталогами (например LDAP, NIS), то файл /etc/passwd – это именно тот файл, в котором хранится информация об учётных записях пользователей, известных системе. К этому файлу система обращается всякий раз при попытке авторизации пользователя в поисках требуемого идентификатора пользователя и определения его домашнего каталога. Формат этого файла заключается в том, что каждая строка в нём соответствует одному конкретному пользователю (учётной записи), в которой (в строке) перечислены атрибуты (поля) учётной записи, разделяемые символом двоеточия:

  1. Имя пользователя.
  2. Пароль пользователя (в шифрованном виде) или «заполнитель» пароля.
  3. Идентификатор пользователя.
  4. Идентификатор группы пользователя (по умолчанию).
  5. Информация GECOS — полное имя, офис, телефоны и т. д.
  6. Домашний каталог.
  7. Регистрационная оболочка.
Файл /etc/passwd – описание локальных учётных записей

Содержимое файла /etc/passwd может выглядеть следующим образом: Как можно видеть, второе поле для всех записей содержит символ «x» — заполнитель пароля. В Linux-системах зашифрованные пароли хранятся отдельно, в файле /etc/shadow. В случае, если совместно с файлом /etc/passwd используется служба автоматизированного управления каталогами, то в этом же файле имеются записи, начинающиеся с символа «+». Такие записи содержат инструкции по интеграции службы управления каталогами в системе. Стоит вкратце рассмотреть поля учётных записей:

  • Имя пользователя или регистрационное имя — уникальное имя, которое должно составляться согласно правилам построения регистрационных имён для той или иной системы. Для Linux длина регистрационного имени может быть не более 32 символов. Допускается использование только строчных букв с включением цифр. Начинаться регистрационное имя должно с буквы.
  • Зашифрованный пароль — как уже отмечалось, пароли для локальных учётных записей хранятся в /etc/shadow в зашифрованном виде. В Linux в качестве криптографических инструментов для шифрования паролей используются алгоритмы crypt, MD5, Blowfish. Минимальная длина пароля составляет 5 символов, максимальная 8
  • Идентификатор пользователя — это целое число без знака, по которому система «распознаёт» отдельных пользователей, поэтому идентификаторы пользователей используются системой и программной средой, в то время как имена пользователей служат для наглядности и удобства представления пользователей в системе. Для пользователя root зарезервирован идентификатор под номером 0, также рекомендуется присваивать реальным пользователям идентификаторы, следующие после 500, поскольку в системе может быть много «неперсонифицированных» пользователей, таких как bin или daemon – это позволит содержать в порядке список пользователей и избегать путаницы. Также в Linux-системах предусмотрен псевдопользователь nobody, с идентификатором -1 или -2. Обычно этот псевдопользователь используется, когда суперпользователь системы пытается получить доступ к файлам, примонтированным с другого компьютера, у которого нет доверия к исходному компьютеру.
  • Идентификатор группы — целое число без знака, аналогично идентификатору пользователя предназначено для обозначения в системе уникальных групп пользователей. Под номером 0 зарезервирована группа root. Группы используются в основном для удобного управления и организации совместного доступа к файлам. Как и в случае с идентификаторами пользователей, в системе зарезервированы группы (например bin) для использования самой системой.
  • Поле GECOS – информация, которая не имеет чётко определённой спецификации, отражает в себе дополнительные данные о пользователе: его полное имя, телефоны, сведения о должности и отделе и т. д. Информацию в этом поле можно менять с помощью команды chfn.
  • Домашний каталог — «место» в дереве файловой системы, которое отведено для хранения данных определённого пользователя. Этот каталог из соображений безопасности должен быть доступен только пользователю-владельцу этого каталога. Если домашний каталог отсутствует на момент регистрации, то пользовательские данные помещаются в каталог /. Также, если в файле /etc/ в опции DEFAULT_HOME, задающем домашний каталог по умолчанию указано значение no, то авторизация/регистрация пользователя будет невозможной.
  • Регистрационная оболочка — командная оболочка интерпретатора команд (или любая другая программа), которая запускается при входе пользователя в свою учётную запись. Для Linux используется интерпретатор
Читайте также:  Как устанавливать программы для Linux

Шаг — Тестирование доступа к sudo

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

  • su — sammy

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

  • sudo command_to_run

Например, вы можете вывести список содержимого директории /root, которое обычно доступно только для пользователя root user:

  • sudo ls -la /root

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

Output:[sudo] password for sammy:

Примечание: это не запрос пароля root! Введите пароль пользователя с привилегиями sudo, а не пароль root.

Если ваш пользователь находится в соответствующей группе и вы ввели правильный пароль, команда с sudo будет запущена с правами root.

Изменение значений по умолчанию для создания новых пользователей

При вызове только с параметром -D, useradd отобразит текущие значения по умолчанию.

useradd -D

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

При вызове с -D плюс другие параметры, useradd обновит значения по умолчанию для указанных параметров. Допустимые варианты изменения по умолчанию:

-b, —base-dir BASE_DIR

Префикс пути к домашнему каталогу нового пользователя. Имя пользователя будет добавлено в конец BASE_DIR для формирования имени домашнего каталога нового пользователя, если опция -d не используется при создании новой учётной записи.

Этот параметр устанавливает переменную HOME в /etc/default/useradd.

-e, —expiredate EXPIRE_DATE

Дата, когда учётная запись пользователя заблокирована.

Изменение значений по умолчанию для создания новых пользователей

Эта опция устанавливает переменную EXPIRE в /etc/default/useradd.

-f, —inactive INACTIVE

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

Эта опция устанавливает НЕАКТИВНУЮ переменную в /etc/default/useradd.

-g, —gid ГРУППА

Имя или идентификатор группы для начальной группы нового пользователя (когда используется -N/—no-user-group или когда для переменной USERGROUPS_ENAB установлено значение no в /etc/). Указанная группа должна существовать, а числовой идентификатор группы должен иметь существующую запись.

Эта опция устанавливает переменную GROUP в /etc/default/useradd.

-s, —shell ОБОЛОЧКА

Имя командной оболочки пользователя.

Эта опция устанавливает переменную SHELL в /etc/default/useradd.