Как в Linux системах добавить пользователя в группу
В Linux добавить пользователя в группу можно командой usermod. При этом меняется содержимое /etc/group. usermod передаются разные флаги в зависимости от дистрибутива.
Как в Linux добавить пользователя в группу
Группу для добавления в неё пользователя нужно предварительно создать (о том как это сделать).
Чтобы в таких Linux системах как Debian и Ubuntu добавить пользователя в группу утилите usermod нужно передать два флага -a и -G, а также имя группы, в которую добавляется пользователь, и имя самого пользователя.
-a ( —append ) — добавление пользователя
-G ( —group ) — указание группы или групп
Одновременно можно задавать несколько групп разделяя их имена запятыми
usermod -a -G group1,group2,group3 username
Одна группа одноименная пользователю и включающая только его создается автоматически при добавлении пользователя.
Просмотреть список всех групп, в которые входит, например, admin можно выполнив в консоли groups
admin adm cdrom sudo dip plugdev lpadmin sambashare lxd
Или можно выполнить команду id
Ту же информацию можно увидеть в файле /etc/group
adm:x:4:syslog,admin
cdrom:x:24:admin
sudo:x:27:admin
dip:x:30:admin
plugdev:x:46:admin
lpadmin:x:115:admin
admin:x:1000:
sambashare:x:127:admin
lxd:x:131:admin
Однако, при выполнении groups она значительно более наглядна. Команда usermod добавляет вхождение именно в /etc/group.
Рассмотрим пример. Создадим группу viewers и добавим в неё пользователя с именем tom.
После добавления пользователя в группу переключаемся на него и просматриваем список групп, в которые добавлен пользователь. Он в двух группах, одна группа его, другая viewers.
Удаление пользователя из группы
Пользователь из группы удаляется командой deluser, она принимает два аргумента: имя пользователя и имя группы
Removing user tom' from groupviewers' … Done.
Читайте про настройку sudo доступа без пароля и про ssh авторизацию по ключу, ssh ключи добавляются для каждого системного пользователя.
Как добавить пользователя в группу в Linux
В этом руководстве мы объясним, как добавить пользователя в группу в системах Linux. Мы также покажем вам, как удалить пользователя из группы и как создавать, удалять и перечислять группы.
Группы Linux
Группы Linux — это организационные единицы, которые используются для организации и администрирования учетных записей пользователей в Linux. Основная цель групп — определить набор привилегий, таких как разрешение на чтение, запись или выполнение для данного ресурса, которые могут быть совместно использованы пользователями внутри группы.
В операционных системах Linux есть два типа групп:
- Основная группа — когда пользователь создает файл, группа файла устанавливается как основная группа пользователя. Обычно название группы совпадает с именем пользователя. Информация об основной группе пользователя хранится в /etc/passwd .
- Вторичная или дополнительная группа — полезно, когда вы хотите предоставить определенные права доступа к файлам набору пользователей, которые являются членами группы. Например, если вы добавите определенного пользователя в группу докеров, пользователь унаследует права доступа группы и сможет запускать команды докеров.
Каждый пользователь может принадлежать ровно к одной основной группе и нулю или более вторичных групп.
Только root или пользователи с доступом sudo могут добавлять пользователя в группу.
Как добавить существующего пользователя в группу
Чтобы добавить существующего пользователя во вторичную группу, используйте команду usermod -a -G после имени группы и пользователя:
sudo usermod -a -G groupname username
Например, чтобы добавить пользователя linuxize в группу sudo , вы должны выполнить следующую команду:
sudo usermod -a -G sudo linuxize
Всегда используйте параметр -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
В следующем примере мы меняем основную группу пользователя linuxize на developers :
sudo usermod -g developers linuxize
Как создать нового пользователя и назначить группы одной командой
Следующая команда useradd создает нового пользователя с именем nathan с users первичной группы и вторичными группами wheel и разработчиками.
sudo useradd -g users -G wheel,developers nathan
Показать группы пользователей
Чтобы отобразить полную информацию о пользователе, включая все группы, членом которых является пользователь, используйте команду id за которой следует имя пользователя:
id username
Если вы опустите имя пользователя, команда напечатает информацию о текущем вошедшем в систему пользователе. Проверим пользовательский linuxize :
id linuxize
uid=1000(linuxize) gid=100(users) groups=100(users),10(wheel),95(storage),98(power),990(libvirt),993(docker),999(kvm)
Из вывода выше мы видим, что основная группа пользователя — это users и она принадлежит к дополнительным группам wheel , storage , libvirt , docker и kvm .
Используйте команду groups для отображения дополнительных групп пользователя:
groups linuxize
wheel storage power users libvirt docker kvm
Если команде groups не передано имя пользователя, она распечатает группы пользователей, вошедших в систему.
Выводы
В этом руководстве мы показали вам, как добавить пользователя в группу.
Те же команды применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Добавление пользователя в группу. Списки пользователей и групп в Linux

В данной заметке рассматривается как добавить пользователя в группу и как удалить из группы, вывод списка групп, в которых состоит пользователь, а также вывод всех пользователей и всех групп в системе Linux.
Список групп, в которых состоит пользователь
Для вывода списка групп, в которых состоит конкретный пользователь используется команда groups.
При выполнении команды groups без аргументов, выводится список групп текущего пользователя.
# groups pingvinus adm cdrom sudo dip plugdev lpadmin sambashare
Можно указать имя пользователя, для которого нужно вывести список групп, в которых он состоит. Например, выведем группы, в которых состоит пользователь root.
# groups root root : root
Добавление пользователя в группу
Чтобы в Linux добавить существующего пользователя в группу используется команда usermod с ключами -a и -G группа . Например, добавим пользователя pingvinus в группу editorsgroup.
sudo usermod -a -G editorsgroup pingvinus
После выполнения данной команды пользователю pingvinus необходимо выйти и снова войти в систему. Можно воспользоваться командой su, чтобы войти от имени пользователя pingvinus в текущем сеансе.
# su - pingvinus # groups pingvinus adm cdrom sudo dip plugdev lpadmin sambashare editorsgroup
Удаление пользователя из группы
Удалим пользователя pingvinus из группы editorsgroup.
sudo gpasswd -d pingvinus editorsgroup
Чтобы изменения вступили в силу, нужно выйти и войти в систему.
Список всех групп
Выведем список всех групп в текущей системе Linux.
cut -d: -f1 /etc/group | sort
Список всех пользователей
Выведем список всех пользователей в текущей системе Linux.
cut -d: -f1 /etc/passwd
Обычно список довольно большой, так как содержит всех пользователей, включая пользователей, которые используются для запуска некоторых программ и служб.
root daemon bin sys sync games . nobody pingvinus
Можно ограничить вывод только теми пользователями, для которых домашняя директория расположена в директории /home.
cat /etc/passwd | grep '/home' | cut -d: -f1
Результат значительно короче.
syslog ntp pingvinus
unixforum.org
[решено] Как добавить себя в группу dialout?
Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.
Модератор: Bizdelnick
4 сообщения • Страница 1 из 1
MiK13 Сообщения: 1135 ОС: Linux Debian
[решено] Как добавить себя в группу dialout?
Сообщение MiK13 » 13.04.2021 03:02
Нужно отладить программу, которая обменивается с другим устройством через COM-порт. То есть через /dev/ttyS*, у которых
ls -l /dev/ttyS* crw-rw---- 1 root dialout 4, 64 апр 12 22:51 /dev/ttyS0 crw-rw---- 1 root dialout 4, 65 апр 12 22:51 /dev/ttyS1 crw-rw---- 1 root dialout 4, 66 апр 12 22:51 /dev/ttyS2 crw-rw---- 1 root dialout 4, 67 апр 12 22:51 /dev/ttyS3
то есть с ними может работать, кроме рута, ещё члены группы dialout.
Попробовал добавить в /etc/group, сделать там строку dialout20:mik13, по аналогии со строками типа
cdrom:x:24:mik13 floppy:x:25:mik13
, но что-то не получается:
mik13@MD5:~$ id uid=1000(mik13) gid=1000(mik13) группы=1000(mik13),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev)
То есть группы cdrom, floppy и ряд других есть, а вот dialout нет.
В чём может быть дело?
Как-то не хочется ради отладки запускать рутовскую сессию.
P.S. Поэкспериментировал с разными терминалами.
В gnome-terminal это именно так.
mik13@MD5:~$ stty -F /dev/ttyS0 stty: /dev/ttyS0: Отказано в доступе
А вот в других — lxterminal , xfce4-terminal
mik13@MD5:~$ stty -F /dev/ttyS0 stty: /dev/ttyS0: Ошибка ввода/вывода
и в них id выдаёт присутствие в группе dialout
Почему так?
Последний раз редактировалось MiK13 13.04.2021 12:15, всего редактировалось 1 раз.
Спасибо сказали:
Hephaestus Сообщения: 3729 Статус: Многоуважаемый джинн. ОС: Slackware64-14.1/14.2 Контактная информация:
Re: Как добавить себя в группу dialout?
Сообщение Hephaestus » 13.04.2021 08:44
13.04.2021 03:02
сделать там строку dialout20:mik13, по аналогии со строками типа
Если Вы пытались добавить новую строку, это неверно. Нужно добавлять себя в существующую строку. Если несколько пользователей, то через запятую.
Ну или использовать usermod
13.04.2021 03:02
но что-то не получается
После добавления себя в группу нужен перелогин. Делали?
13.04.2021 03:02
и в них id выдаёт присутствие в группе dialout
Почему так?
Если я правильно понял и после редактирования /etc/group Вы не перелогинивались, то похоже, что с открытием какого-то из этих терминалов получилась новая сессия.
Я сейчас проверил у себя. И в группу спокойно добавился (после перелогина, разумеется), и stty -F /dev/ttyS0 ошибки не выдал. Так что в целом, схема рабочая.
Единственное, в Вашем дистре могут быть ещё где-то гайки закручены.
Пускай скрипят мои конечности.
Я — повелитель бесконечности.
Мой блог
Спасибо сказали:
MiK13 Сообщения: 1135 ОС: Linux Debian
Re: Как добавить себя в группу dialout?
Сообщение MiK13 » 13.04.2021 12:14
13.04.2021 08:44
13.04.2021 03:02
сделать там строку dialout20:mik13, по аналогии со строками типа
Если Вы пытались добавить новую строку, это неверно. Нужно добавлять себя в существующую строку. Если несколько пользователей, то через запятую.
Ну или использовать usermod
С usermod я как-нибудь ещё проверю.
Строку я, естесвенно, не добавлял, так как она уже была. Только добавил в неё себя
13.04.2021 08:44
13.04.2021 03:02
но что-то не получается
После добавления себя в группу нужен перелогин. Делали?
И даже перегружался. Потом выходил и заново входил.
13.04.2021 08:44
13.04.2021 03:02
и в них id выдаёт присутствие в группе dialout
Почему так?
Если я правильно понял и после редактирования /etc/group Вы не перелогинивались, то похоже, что с открытием какого-то из этих терминалов получилась новая сессия.
Я сейчас проверил у себя. И в группу спокойно добавился (после перелогина, разумеется), и stty -F /dev/ttyS0 ошибки не выдал. Так что в целом, схема рабочая.
Как я написал выше, я не только выходил, но и даже перегружался. Но это не помогало.
Но потом заметил, что это зависит от эмулятора терминала. Которых в линуксе далеко не один.
То есть при вызове многих оказывается, что я нахожусь в этой группе, а в других (в частности, gnome=terminal, все не проверял) — нет.
13.04.2021 08:44
Единственное, в Вашем дистре могут быть ещё где-то гайки закручены.
А вот это вполне может быть.
Это я проверял на Debian 10 Buster (постараюсь сегодня проверить на Raspbian, аналог Buster).
Сейчас, на работе, на Debian 9 Stretch в gnome-terminal у меня id показывает, что я есть в группе 20 dialout.
Правда, есть другая непонятная вещь, но это уже другая тема.
