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

Add User Group Linux Featured Image

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

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

Содержание

  • Как работают группы и разрешения?
  • Просмотр членства в группе для пользователя в Linux
  • Создание новой группы в Linux
  • Добавление существующего пользователя в новую группу в Linux
  • Часто задаваемые вопросы

Как работают группы и разрешения?

По сути, группа в Linux — это коллекция пользователей, которые имеют одинаковые разрешения и привилегии для конкретного файла или программы. Каждый файл в системе имеет набор прав собственности и битов разрешений. Один из простейших способов найти это — выполнить команду ls -l в вашем домашнем каталоге.

Add User Group Linux Ls Long Format

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

-rwxrwxr-x1 ramces    maketecheasier    8.7k Oct 2420:39 hello.txt

Первые, третьи и четвертые столбцы показывают биты разрешений и собственности текущего файла. Например, значение “rwxrwxr-x” говорит системе о том, что все могут читать этот файл, но только пользователь “ramces” и группа “maketecheasier” могут записывать в него.

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

Просмотр членства в группе для пользователя в Linux

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

Выполнение следующей команды выведет список всех доступных групп для текущего пользователя:

id

Add User Group Linux 02 Id Program

Просмотр доступных групп в системе

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

sudoless/etc/group

Это выведет весь файл “/etc/group” на экран вашего терминала. Прокручивайте файл, нажав J или K.

Add User Group Linux 03 Etc Groups File

По умолчанию “/etc/group” является файлом, разделенным двоеточиями, который содержит как пользовательские, так и системные группы. Каждая строка в этом файле представляет текущую активную группу на машине.

Общий формат для каждой строки выглядит так:

group-name:password:GID:users
  • group-name — это название группы. В большинстве случаев системные группы начинаются с символа подчеркивания, чтобы отличать их от обычных групп.
  • password — это необязательное поле для создания защищенных групп, что полезно, если вы делитесь системой с несколькими людьми.
  • GID — это идентификатор группы для этой конкретной группы.
  • Наконец, поле users — это список, разделенный запятыми, который содержит всех пользователей, входящих в эту группу.

Add User Group Linux 04 Etc Groups Format

Примечание: даже если вы не входите в группу root, вы все равно можете открывать файлы от имени root. Узнайте, как это сделать.

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

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

Например, я могу выполнить следующую команду, чтобы создать новую группу с именем “test.”

groupadd -vtest

Add User Group Linux 05 Create New Group

Создание нового пользователя с новой группой

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

Для этого выполните следующую команду:

sudo useradd -m-G maketecheasier -s/bin/bashtest
  • Флаг – m указывает утилите useradd создать домашний каталог для нового пользователя, так как по умолчанию Linux не создает домашний каталог для пользователя “test”.
  • Флаг -G указывает утилите useradd создать и добавить пользователя “test” в группу “maketecheasier”.
  • Флаг -s устанавливает оболочку входа по умолчанию для пользователя “test”. В моем случае я указываю утилите useradd установить оболочку входа для пользователя “test” на Bash.

Add User Group Linux 06 Create New User And Group

Добавление существующего пользователя в новую группу в Linux

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

sudo usermod -aG maketecheasier user

Add User Group Linux 07 Append Single User Group

Добавление нескольких пользователей в новую группу

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

sudo gpasswd -M ramces,test maketecheasier

Add User Group Linux 08 Append Multiple Users Groups

Это установит список членов группы “maketecheasier” и включит как “ramces”, так и “test.” Однако важно отметить, что флаг -M всегда заменяет значение пользователей в файле “/etc/group”.

Добавление новых пользователей в вашу группу также потребует включения пользователей, которые уже находятся в группе. Например, выполнение следующей команды добавит как “alice”, так и “bob” в группу “maketecheasier”:

sudo gpasswd -M ramces,test,alice,bob maketecheasier

Add User Group Linux 09 Append More Users To Group

Совет: узнайте, как переключиться на другую учетную запись пользователя с помощью команды sudo.

Часто задаваемые вопросы

Можно ли редактировать файл /etc/group для изменения группы в Linux?

Хотя возможно изменить файл “/etc/group”, это может привести к нарушению внутреннего формата файла, что приведет к некорректной работе групп и отсутствию разрешений в системе. Таким образом, редактирование файла “/etc/group” напрямую не является хорошей практикой.

Моя новая группа не отображается в списке групп моего пользователя. Моя машина сломана?

Нет! По умолчанию система групп Linux не применяет изменения, которые вы внесли для онлайн-пользователей. Этот подход защищает этих пользователей от любых внезапных изменений в системе, которые могут помешать им получить доступ к файлу или программе.

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