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

Группы Linux — это организационные единицы, которые используются для организации и администрирования учетных записей пользователей в Linux. Основная цель групп — определить набор привилегий, таких как разрешение на чтение, запись или выполнение для данного ресурса, которые могут быть разделены между пользователями в группе.
В операционных системах Linux существует два типа групп:
Основная группа — когда пользователь создает файл, группа файла устанавливается в основную группу пользователя. Обычно имя группы совпадает с именем пользователя. Информация о первичной группе пользователя хранится в /etc/passwd файле.
Вторичная или дополнительная группа . Полезно, если вы хотите предоставить определенные права доступа к файлам группе пользователей, являющихся членами группы. Например, если вы добавите определенного пользователя в группу docker, этот пользователь унаследует права доступа группы и сможет выполнять команды docker.
Каждый пользователь может принадлежать ровно к одной основной группе и к нулю или нескольким дополнительным группам.
Только root или пользователи с sudo доступом могут добавить пользователя в группу.
Как добавить существующего пользователя в группу
Чтобы добавить существующего пользователя во вторичную группу, используйте usermod -a -G команду после имени группы и пользователя:
sudo usermod -a -G groupname username
Например, чтобы добавить пользователя unetway в sudo группу, выполните следующую команду:
sudo usermod -a -G sudo unetway
Всегда используйте -a опцию (добавить) при добавлении пользователя в новую группу. Если вы опустите этот -a параметр, пользователь будет удален из всех групп, не перечисленных после этого -G параметра.
В случае успеха usermod команда не отображает никаких выходных данных. Он предупреждает вас, только если пользователь или группа не существует.
Как добавить существующего пользователя в несколько групп одной командой
Если вы хотите добавить существующего пользователя в несколько дополнительных групп с помощью одной команды, используйте usermod команду, за которой следует -G имя параметра группы, разделенное , (запятыми):
sudo usermod -a -G group1,group2 username
Как удалить пользователя из группы
Чтобы удалить пользователя из группы, используйте gpasswd команду с -d опцией.
В следующем примере мы удаляем пользователя username из группы groupname :
sudo gpasswd -d username groupname
Как создать группу
Чтобы создать новую группу , используйте groupadd команду, за которой следует имя группы:
sudo groupadd groupname
Как удалить группу
Чтобы удалить существующую группу, используйте groupdel команду, за которой следует имя группы:
sudo groupdel groupname
Как изменить основную группу пользователя
Чтобы изменить основную группу пользователей, используйте usermod команду, за которой следует -g параметр:
sudo usermod -g groupname username
В следующем примере мы меняем основную группу пользователя unetway на dev :
sudo usermod -g dev unetway
Как создать нового пользователя и назначить группы одной командой
Следующая useradd команда создает нового пользователя с именем nathan из основной группы users и вторичных групп wheel и Developers.
sudo useradd -g users -G wheel,developers nathan
Показать группы пользователей
Чтобы отобразить полную информацию о пользователе, включая все группы, членом которых является пользователь, используйте id команду, за которой следует имя пользователя:
id username
Если вы опустите имя пользователя, команда напечатает информацию о текущем вошедшем в систему пользователе. Проверим пользователя unetway :
id unetway
Используйте groups команду для отображения дополнительных групп пользователя:
groups unetway
Если в команду не передано имя пользователя groups , она распечатает группы пользователей, вошедших в систему в данный момент.
Как добавить пользователя в группу Linux
Операционная система Linux изначально планировалась как многопользовательская система. Для управления правами доступа для каждого из пользователей используется три флага: чтение, запись и выполнение. Но этого было недостаточно, поэтому были придуманы группы пользователей Linux. С помощью групп можно дать нескольким пользователям доступ к одному ресурсу.
Файлу присваивается группа, для нее описываются права, затем в эту группу вступают пользователи, чтобы получить доступ к файлу. Читайте подробнее про все это в статье группы Linux. А в этой статье мы рассмотрим как добавить пользователя в группу linux.
Как добавить пользователя в группу Linux
Как я уже сказал, для каждого пользователя существует два типа групп, это первичная, основная для него группа и дополнительные.
- Первичная группа — создается автоматически, когда пользователь регистрируется в системе, в большинстве случаев имеет такое же имя, как и имя пользователя. Пользователь может иметь только одну основную группу;
- Вторичные группы — это дополнительные группы, к которым пользователь может быть добавлен в процессе работы, максимальное количество таких групп для пользователя — 32;
Как обычно, лучше всего будет добавлять пользователя в группу через терминал, поскольку это даст вам больше гибкости и возможностей. Для изменения параметров пользователя используется команда usermod. Рассмотрим ее опции и синтаксис:
$ usermod опции синтаксис
Здесь нас будут интересовать только несколько опций с помощью которых можно добавить пользователя в группу root linux. Вот они:
- -G — дополнительные группы для пользователя;
- -a — добавить пользователя в дополнительные группы из параметра -G, а не заменять им текущее значение;
- -g — установить новую основную группу для пользователя, такая группа уже должна существовать, и все файлы в домашнем каталоге теперь будут принадлежать именно этой группе.
У команды намного больше опций, но нам понадобятся только эти для решения нашей задачи. Теперь рассмотрим несколько примеров. Например, чтобы добавить пользователя в группу sudo linux используйте такую комбинацию. Обратите внимание, что в некоторых дистрибутивах пользователи с правом доступа к sudo могут находится в групе admin или wheel:
sudo usermod -a -G wheel user

Если вы не будете использовать опцию -a, и укажите только -G, то утилита затрет все группы, которые были заданы ранее, что может вызвать серьезные проблемы. Например, вы хотите добавить пользователя в группу disk и стираете wheel, тогда вы больше не сможете пользоваться правами суперпользователя и вам придется сбрасывать пароль. Теперь смотрим информацию о пользователе:

Мы можем видеть, что была добавлена указанная нами дополнительная группа и все группы, которые были раньше остались. Если вы хотите указать несколько групп, это можно сделать разделив их запятой:
sudo usermod -a -G disks,vboxusers user
Основная группа пользователя соответствует его имени, но мы можем изменить ее на другую, например users:
sudo usermod -g users user

Теперь основная группа была изменена. Точно такие же опции вы можете использовать для добавления пользователя в группу sudo linux во время его создания с помощью команды useradd.
Добавление пользователя в группу через GUI
В графическом интерфейсе все немного сложнее. В KDE добавление пользователя в группу linux выполняется с помощью утилиты Kuser. Мы не будем ее рассматривать. В Gnome 3 возможность управления группами была удалена, но в разных системах существуют свои утилиты для решения такой задачи, например, это system-config-users в CentOS и Users & Groups в Ubuntu.
Для установки инструмента в CentOS выполните:
sudo yum install system-config-users
Дальше вы можете запустить утилиту через терминал или из главного меню системы. Главное окно утилиты выглядит вот так:

Выполните двойной клик по имени пользователя, затем перейдите на вкладку «группы». Здесь вы можете выбрать отметить галочками нужные дополнительные группы, а также изменить основную группу:

Для установки утилиты в Ubuntu запустите такую команду:
sudo apt install gnome-system-tools
Здесь интерфейс будет немного отличаться, утилита будет выглядеть так же, как и системная программа настройки пользователей только появится возможность управления группами Linux.
Выводы
В этой небольшой статье мы рассмотрели как добавить пользователя в группу linux. Это может быть очень полезно для предоставления пользователю дополнительных полномочий и разграничения привилегий между пользователями. Если у вас остались вопросы, спрашивайте в комментариях!
Добавляем пользователей в группу в Linux
В наше время любая операционная система не считается полноценной, если в ней нет многопользовательского режима. Так и в Linux. Раньше в ОС существовало всего три основных флага, которые контролируют права доступа каждого конкретного пользователя, это – чтение, запись и непосредственно выполнение. Однако спустя время разработчики поняли, что этого недостаточно и создали специальные группы пользователей данной ОС. С их помощью сразу несколько человек способны получить возможность использовать один и тот же ресурс.
Способы добавления пользователей в группы
Абсолютно любой пользователь может выбрать первичную группу, которая будет являться основной, и побочные, в которые он может вступить по желанию. Стоит пояснить эти два понятия:
- Первичная (основная) группа создается сразу после регистрации в ОС. Это происходит автоматически. Пользователь вправе находиться лишь в одной первичной группе, имя которой чаще всего присваивается согласно введенному имени пользователя.
- Побочные группы являются дополнительными, и во время работы за компьютером могут изменяться. Однако не стоит забывать, что количество побочных групп строго ограничено и не может превышать 32.
Сейчас рассмотрим, как можно взаимодействовать с группами пользователей в дистрибутивах Linux.
Способ 1: Программы с графическим интерфейсом
К сожалению, ультимативной программы, которая имеет функцию добавления новых пользовательских групп, в дистрибутивах Linux нет. Ввиду этого, к каждой отдельной графической оболочке применяется разная программа.
KUser для KDE
Для добавления новых пользователей в группу в дистрибутивах Linux с графической оболочкой рабочего стола KDE используется программа Kuser, которую можно установить на компьютер, вписав в «Терминале» команду:
sudo apt-get install kuser
и нажав клавишу Enter.
Данное приложение имеет примитивный интерфейс, с которым удобно работать. Чтобы добавить пользователя в группу, вам необходимо сначала нажать двойным кликом по его имени, а затем, в появившемся окне, перейти во вкладку «Группы» и отметить галочками те, в которые вы хотите добавить выбранного пользователя.

«Менеджер пользователей» для Gnome 3
Что касается Gnome, то тут управление группами практически ничем не отличается. Вам лишь нужно установить соответствующую программу, которая идентична предыдущей. Разберем на примере дистрибутива CentOS.
Чтобы произвести установку «Менеджера пользователей», вам необходимо выполнить команду:
sudo yum install system-config-users
Открыв окно программы, вы увидите:

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

«Пользователи и группы» для Unity
Как можно было заметить, использование выше представленных программ ничем не отличается. Однако для графической оболочки Unity, которая используется в дистрибутиве Ubuntu и является собственной разработкой создателей, управление группами пользователей слегка разнится. Но все по порядку.
Изначально установим необходимую программу. Делается это в автоматическом режиме, после выполнения следующей команды в «Терминале»:
sudo apt install gnome-system-tools
В случае, если вы желаете добавить либо удалить одну из имеющихся групп или пользователя, следует перейти в главное меню и нажать кнопку «Управление группами» (1). После проделанного перед вами появится окно «Параметры групп», в котором вы сможете увидеть список всех имеющихся в системе групп:

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

Способ 2: Терминал
Для добавления новых пользователей в системах на базе Linux специалисты рекомендуют использовать терминал, так как данный способ предоставляет больше возможностей. В этих целях используется команда usermod — она позволит вам изменять параметры по собственному вкусу. Помимо прочего, неотъемлемым достоинством работы с «Терминалом» является его ультимативность — инструкция общая для всех дистрибутивов.
Синтаксис
Синтаксис команды не сложный и включает в себя три аспекта:
usermod опции синтаксис
Опции
Сейчас будут рассмотрены лишь основные опции команды usermod , которые позволяют добавлять новых пользователей в группы. Вот их перечень:
| Опции | Описание |
|---|---|
| -g | Позволяет установить дополнительную основную группу для пользователя, однако такая группа уже должна быть, а все имеющиеся в домашней директории файлы автоматически перейдут в эту группу |
| -G | Специальные добавочные группы |
| -a | Позволяет выбрать пользователя из группы опции -G и добавить его в другие дополнительно выбранные группы, не совершая замену текущего значения |
Конечно, общее количество опций гораздо большее, однако мы рассматриваем только те, которые могут понадобиться для выполнения поставленной задачи.
Примеры
Сейчас перейдем к практике и на примере рассмотрим использование команды usermod . Например, вам необходимо добавить новых пользователей в группу sudo linux, для чего достаточно будет выполнить следующую команду в «Терминале»:
sudo usermod -a -G wheel user

Очень важно отметить тот факт, что если вы исключите из синтаксиса опцию –а и оставите лишь –G, то утилита автоматически уничтожит все те группы, которые были созданы вами ранее, а это может привести к неисправимым последствиям.
Рассмотрим простой пример. Вы стерли имеющуюся у вас группу wheel, добавляете пользователя в группу disk, однако после этого вам потребуется сбросить пароль, и вы больше не сможете пользоваться присвоенными вам ранее правами.
Для проверки информации о пользователе можно воспользоваться следующей командой:

После всего проделанного вы сможете увидеть, что дополнительная группа была добавлена, а все имеющиеся ранее группы остались на месте. В случае, если вы планируете добавить одновременно несколько групп, то стоит лишь разделить их между собой запятой.
sudo usermod -a -G disks,vboxusers user
Изначально при создании основная группа пользователя носит его имя, однако при желании его можно изменить на любое понравившееся, например, users:
sudo usermod -g users user

Таким образом вы видите, что имя основной группы поменялось. Аналогичные опции можно использовать в случае с добавлением новых пользователей в группу sudo linux, используя простую команду useradd.
Заключение
Из всего вышесказанного можно подчеркнуть то, что вариантов того, как добавить пользователя в группу Linux, много, и каждый хорош по-своему. Например, если вы неопытный пользователь или хотите быстро и легко выполнить поставленную задачу, то лучшим вариантом будет использование программ с графическим интерфейсом. Если же вы надумали вносить кардинальные правки в группы, то для этих целей необходимо использовать «Терминал» с командой usermod .
Группы пользователей Linux
Основа распределения прав доступа в операционной системе Linux лежит на понятии пользователь. Пользователю-владельцу файла выдаются определенные полномочия для работы с ним, а именно на чтение, запись и выполнение. Также отдельно устанавливаются полномочия на чтение, запись и выполнение для всех остальных пользователей. Поскольку в Linux все есть файл, то такая система позволяет регулировать доступ к любому действию в этой операционной системе с помощью установки прав доступа на файлы. Но еще при создании Linux, разработчики поняли, что этого явно недостаточно.
Поэтому и были придуманы группы пользователей. Пользователи могут объединяться в группы, чтобы уже группам выдавать нужные полномочия на доступ к тем или иным файлам, а соответственно и действиям. В этой статье мы рассмотрим группы пользователей в Linux, рассмотрим зачем они нужны, как добавить пользователя в группу и управлять группами.
Что такое группы?
Как я уже сказал группы в Linux появились еще в самом начале разработки этой операционной системы. Они были разработаны для того, чтобы расширить возможности управления правами. Разберем небольшой пример, возьмем организацию в которой есть только один компьютер, у нас есть администраторы и пользователи. У каждого человека свой аккаунт на нашем компьютере. Администраторы могут настраивать систему, пользователям же лучше не давать воли, чтобы что-то не сломали. Поэтому администраторы объединяются в группу admin, и ей дается доступ ко всему оборудованию, реально же ко всем файлам в каталоге dev, а пользователи, объеденные в группу users, и этой группе дается возможность читать и записывать файлы в общий каталог, с помощью которого они могут обмениваться результатами своей работы. Мы могли бы назначать права для каждого пользователя отдельно разрешая ему доступ к тому или иному файлу, но это слишком неудобно. Поэтому и были придуманы группы. Говорите, да ничего, можно назначить? Ну а теперь представьте что наши пользователи — это процессы. Вот тут вся краса групп выходит на передний план, группы используются не столько для обеспечения доступа для пользователей, сколько для управления правами программ, особенно их доступом к оборудованию. Для сервисов создаются отдельные группы и пользователь, от имени которого запущен он, сервис может состоять в нескольких группах, что обеспечивает ему доступ к определенным ресурсам.
А теперь давайте рассмотрим как посмотреть группы linux.
Группы в Linux
Все группы, созданные в системе, находятся в файле /etc/group. Посмотрев содержимое этого файла, вы можете узнать список групп linux, которые уже есть в вашей системе. И вы будете удивлены.

Кроме стандартных root и users, здесь есть еще пару десятков групп. Это группы, созданные программами, для управления доступом этих программ к общим ресурсам. Каждая группа разрешает чтение или запись определенного файла или каталога системы, тем самым регулируя полномочия пользователя, а следовательно, и процесса, запущенного от этого пользователя. Здесь можно считать, что пользователь — это одно и то же что процесс, потому что у процесса все полномочия пользователя, от которого он запущен.
Давайте подробнее рассмотрим каждую из групп, чтобы лучше понимать зачем они нужны:
- daemon — от имени этой группы и пользователя daemon запускаютcя сервисы, которым необходима возможность записи файлов на диск.
- sys — группа открывает доступ к исходникам ядра и файлам include сохраненным в системе
- sync — позволяет выполнять команду /bin/sync
- games — разрешает играм записывать свои файлы настроек и историю в определенную папку
- man — позволяет добавлять страницы в директорию /var/cache/man
- lp — позволяет использовать устройства параллельных портов
- mail — позволяет записывать данные в почтовые ящики /var/mail/
- proxy — используется прокси серверами, нет доступа записи файлов на диск
- www-data — с этой группой запускается веб-сервер, она дает доступ на запись /var/www, где находятся файлы веб-документов
- list — позволяет просматривать сообщения в /var/mail
- nogroup — используется для процессов, которые не могут создавать файлов на жестком диске, а только читать, обычно применяется вместе с пользователем nobody.
- adm — позволяет читать логи из директории /var/log
- tty — все устройства /dev/vca разрешают доступ на чтение и запись пользователям из этой группы
- disk — открывает доступ к жестким дискам /dev/sd* /dev/hd*, можно сказать, что это аналог рут доступа.
- dialout — полный доступ к серийному порту
- cdrom — доступ к CD-ROM
- wheel — позволяет запускать утилиту sudo для повышения привилегий
- audio — управление аудиодрайвером
- src — полный доступ к исходникам в каталоге /usr/src/
- shadow — разрешает чтение файла /etc/shadow
- utmp — разрешает запись в файлы /var/log/utmp /var/log/wtmp
- video — позволяет работать с видеодрайвером
- plugdev — позволяет монтировать внешние устройства USB, CD и т д
- staff — разрешает запись в папку /usr/local
Теперь, когда вы знаете зачем использовать группы в linux и какие они есть по умолчанию, рассмотрим управление группами LInux.
Управление группами Linux
Управлять группами можно и с помощью графического интерфейса. В KDE есть программа Kuser специально предназначенная для этого, в Gnome это выполняется с помощью настроек системы. Кроме того, в популярных дистрибутивах есть отдельные инструменты, такие как YaST в OpenSUSE или Настройки Ubuntu. Но с графическим интерфейсом я думаю вы разберетесь. А мы рассмотрим управление группами linux через терминал. Сначала разберемся с файлами, а уже потом с пользователями.
При создании файла ему назначается основная группа пользователя который его создал. Это просто например:

Здесь вы можете видеть, что владелец всех папок sergiy и группа тоже sergiy. Правильно, так как эти пользователи были созданы мной. Но давайте пойдем дальше:

Здесь мы видим что дисковым устройствам sd* назначена группа disk, а это все значит, что пользователь, состоящий в этой группе, может получить к ним доступ. Или еще пример:

Все как мы рассматривали в предыдущем пункте. Но эти группы могут быть не только установлены системой, но и вы сами вручную можете менять группы файлов для этого есть команда chgrp:
chgrp имя_группы имя_файла
Например создадим файл test:
И изменим для него группу:

Теперь этот файл смогут прочитать все пользователи из группы adm.
Если вы хотите создать группу linux, это можно сделать командой newgrp:
sudo groupadd test
С пользователями ситуация немного сложнее. Пользователь имеет основную группу, она указывается при создании, а также несколько дополнительных. Основная группа отличается от обычных тем, что все файлы в домашнем каталоге пользователя имеют эту группу, и при ее смене, группа этих каталогов тоже поменяется. Также именно эту группу получают все файлы созданные пользователем. Дополнительные группы нужны, чтобы мы могли разрешить пользователям доступ к разным ресурсам добавив его в эти группы в linux.
Управление группами Linux для пользователя выполняется с помощью команды usermod. Рассмотрим ее синтаксис и опции:
$ usermod опции имя_пользователя
- -G — дополнительные группы, в которые нужно добавить пользователя
- -g изменить основную группу для пользователя
- -R удалить пользователя из группы.
Добавить пользователя в группу можно командой usermod:
sudo usermod -a -G имя_группы имя_пользователя
Можно добавить пользователя в группу linux временно, командой newgrp. Откроется новая оболочка, и в ней пользователь будет иметь нужные полномочия, но после закрытия все вернется как было:
sudo newgrp имя_группы
Для примера давайте добавим нашего пользователя в группу disk, чтобы иметь прямой доступ к жестким дискам без команды sudo:
sudo usermod -G -a disk sergiy
Теперь вы можете монтировать диски без команды sudo:
mount /dev/sda1 /mnt
Посмотреть группы linux, в которых состоит пользователь можно командой:

Также можно использовать команду id. В первом случае мы просто видим список групп linux, во втором дополнительно указанны id группы и пользователя. Чтобы включить пользователя в группу Linux, для основной группы используется опция -g:
sudo usermod -g test sergiy
Теперь все каталоги в домашней папке пользователя имеют группу test. Удалить пользователя из группы в linux можно той же командой с опцией R:
sudo usermod -R группа пользователь
Ну и наконец, удалить группу Linux можно командой:
sudo delgroup имя_группы
Выводы
Как видите, группы пользователей Linux не такое уж сложное дело. Вы можете в несколько команд добавить пользователя в группу linux или дать ему полномочия на доступ к определенным ресурсам. Если вы надумали изменять группы для системных устройств, тут все не так просто, но в этом вопросе вам поможет статья про правила udev в linux. Теперь управление группами Linux вам не кажется таким сложным. Если остались вопросы, пишите в комментариях!