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

Группы являются основополагающим элементом системы Linux. Это специальные списки, которые позволяют объединять несколько пользователей в разные категории. Наряду с обеспечением безопасных привилегий приложений вашей системы, это позволяет тонко контролировать, как каждая учетная запись в системе может получать доступ к своим файлам и папкам и делиться ими.
Эта статья показывает, как вы можете использовать утилиту групп для добавления и изменения существующих групп в Linux. Кроме того, также будет освещено, как система разрешений Linux работает совместно с системой групп.
Содержание
- Как работают группы и разрешения?
- Просмотр членства в группе для пользователя в Linux
- Создание новой группы в Linux
- Добавление существующего пользователя в новую группу в Linux
- Часто задаваемые вопросы
Как работают группы и разрешения?
По сути, группа в Linux — это коллекция пользователей, которые имеют одинаковые разрешения и привилегии для конкретного файла или программы. Каждый файл в системе имеет набор прав собственности и битов разрешений. Один из простейших способов найти это — выполнить команду ls -l в вашем домашнем каталоге.

Это выведет список всех видимых файлов и папок в каталоге вместе с их правами собственности и битами разрешений. В большинстве случаев общий формат выглядит следующим образом:
-rwxrwxr-x1 ramces maketecheasier 8.7k Oct 2420:39 hello.txtПервые, третьи и четвертые столбцы показывают биты разрешений и собственности текущего файла. Например, значение “rwxrwxr-x” говорит системе о том, что все могут читать этот файл, но только пользователь “ramces” и группа “maketecheasier” могут записывать в него.
Эти два бита работают вместе для создания тонко настроенной системы контроля доступа в Linux. Биты разрешений говорят системе, как файл может использоваться пользователями и группами в битах собственности.
Просмотр членства в группе для пользователя в Linux
Первый шаг для изменения группы в Linux — это знать, какие группы доступны пользователю, чтобы иметь представление о активных группах в системе.
Выполнение следующей команды выведет список всех доступных групп для текущего пользователя:
id
Просмотр доступных групп в системе
Помимо просмотра групп, специфичных для пользователя, также возможно перечислить все группы в системе, выполнив следующую команду:
sudoless/etc/groupЭто выведет весь файл “/etc/group” на экран вашего терминала. Прокручивайте файл, нажав J или K.

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

Примечание: даже если вы не входите в группу root, вы все равно можете открывать файлы от имени root. Узнайте, как это сделать.
Создание новой группы в Linux
Чтобы создать новую группу в Linux, используйте команду groupadd. В отличие от id, это утилита, которая занимается только созданием групп.
Например, я могу выполнить следующую команду, чтобы создать новую группу с именем “test.”
groupadd -vtest
Создание нового пользователя с новой группой
Также возможно создать как нового пользователя, так и группу за одну команду, что полезно, когда вы настраиваете учетную запись для сценариев оболочки с заранее определенными правами.
Для этого выполните следующую команду:
sudo useradd -m-G maketecheasier -s/bin/bashtest- Флаг –
mуказывает утилитеuseraddсоздать домашний каталог для нового пользователя, так как по умолчанию Linux не создает домашний каталог для пользователя “test”. - Флаг
-Gуказывает утилитеuseraddсоздать и добавить пользователя “test” в группу “maketecheasier”. - Флаг
-sустанавливает оболочку входа по умолчанию для пользователя “test”. В моем случае я указываю утилитеuseraddустановить оболочку входа для пользователя “test” на Bash.

Добавление существующего пользователя в новую группу в Linux
Помимо создания группы и ее пользователя, вы также можете добавить существующих пользователей в группу, выполнив следующую команду:
sudo usermod -aG maketecheasier user
Добавление нескольких пользователей в новую группу
Наконец, также возможно включить нескольких пользователей в вашу новую группу. Для этого выполните следующую команду:
sudo gpasswd -M ramces,test maketecheasier
Это установит список членов группы “maketecheasier” и включит как “ramces”, так и “test.” Однако важно отметить, что флаг -M всегда заменяет значение пользователей в файле “/etc/group”.
Добавление новых пользователей в вашу группу также потребует включения пользователей, которые уже находятся в группе. Например, выполнение следующей команды добавит как “alice”, так и “bob” в группу “maketecheasier”:
sudo gpasswd -M ramces,test,alice,bob maketecheasier
Совет: узнайте, как переключиться на другую учетную запись пользователя с помощью команды sudo.
Часто задаваемые вопросы
Можно ли редактировать файл /etc/group для изменения группы в Linux?
Хотя возможно изменить файл “/etc/group”, это может привести к нарушению внутреннего формата файла, что приведет к некорректной работе групп и отсутствию разрешений в системе. Таким образом, редактирование файла “/etc/group” напрямую не является хорошей практикой.
Моя новая группа не отображается в списке групп моего пользователя. Моя машина сломана?
Нет! По умолчанию система групп Linux не применяет изменения, которые вы внесли для онлайн-пользователей. Этот подход защищает этих пользователей от любых внезапных изменений в системе, которые могут помешать им получить доступ к файлу или программе.
Чтобы обновить список групп вашего пользователя, либо выйдите из текущей сессии, либо перезагрузите всю машину.