- Список членов группы Linux в терминале Linux
- Добавление нового пользователя
- Добавление новой группы
- Добавление пользователей в группу
- Как перечислить членов группы
- 1) Использование cat /etc/group
- 2) Использование команды members
- 3) Использование команды getent
- 4) Использование скрипта perl
- Группы пользователей в Linux: создаем группы, добавляем и удаляем из них пользователей
- Создание групп
- Создание пользователей
- Добавление пользователя в группу
- Удаление пользователя из вторичной группы
- Заключение
- Linux List Group Members in Linux Terminal
- Adding a new user
- Adding a new group
- Adding users to the group
- How to list members of a group
- 1) Using cat /etc/group
- 2) Using members command
- 3) Using getent command
- 4) Using a perl script
- Conclusion
- Linux Show All Members of a Group Command
- Linux Show All Members of a Group Commands
- Linux: List all members of a group using /etc/group file
- Display group memberships for each Linux user
- Linux List all members of a group using members command
- How to list all users in a Linux group using lid command
- To see users contained in group named ‘ftponly’:
- To show information about groups containing user named ‘nixcraft’:
- How to list groups in Linux
- Conclusion
- Группы пользователей Linux
- Что такое группы?
- Группы в Linux
- Управление группами Linux
- Выводы
Список членов группы Linux в терминале Linux
В этой статье мы рассмотрим различные способы представления членов группы в Linux.
В текстовом файле /etc/group хранится информация о группах.
В каждой строке содержится одна запись, содержащая следующую информацию:
- Название группы
- пароль
- Идентификатор группы (GID)
- Список пользователей группы
Чтобы получить представление о том, о чем мы говорим, мы собираемся создать новых пользователей, а затем добавлять их в группу с именем opensource.
Добавление нового пользователя
Чтобы добавить новый пользовательский запустите:
Используя ту же команду и процедуру, мы можем добавить больше пользователей, в этом случае, Джеймса, Алиса и Пауля.
Добавление новой группы
Чтобы добавить новую группу, выполните:
Мы добавим новую группу с именем opensource
Чтобы подтвердить, что группа существует в /etc/group запустите:
Добавление пользователей в группу
Теперь добавим вновь созданных пользователей в группу opensource. Синтаксис для этого следующий:
В нашем случае, чтобы добавить пользователей в нашу группу, мы запустим приведенную ниже команду и повторим ее для других пользователей:
Как перечислить членов группы
1) Использование cat /etc/group
Как мы видели ранее, информация о группе хранится в /etc/group.
Вы получите список системных групп и группу, которую мы создали ранее
2) Использование команды members
Вы можете использовать команду members для перечисления пользователей в группе. Синтаксис для этого следующий:
3) Использование команды getent
Вы также можете использовать команду getent для перечисления пользователей в группе, как показано ниже:
4) Использование скрипта perl
Наконец, вы можете перечислить все группы в вашей системе Linux и отобразить все элементы в этих группах, используя скрипт perl, как показано далее.
Сначала создайте скрипт, используя ваш любимый текстовый редактор
Источник
Группы пользователей в Linux: создаем группы, добавляем и удаляем из них пользователей
Перевод статьи «Linux User Groups Explained: How to add a new group, a new group member, and change groups».
Linux позволяет многочисленным пользователям работать в системе одновременно. Установка прав доступа защищает пользователей друг от друга. Для объединения пользователей с одинаковыми правами доступа создаются группы. Члены этих групп могут, например, иметь доступ к каким-то файлам или устройствам, в то время как для остальных пользователей доступ будет закрыт.
Часто группы создаются, чтобы дать отдельным пользователям право модифицировать файл или директорию.
Группы бывают двух основных видов: первичные и вторичные. Первичная группа это основная группа пользователя, установленная для него по умолчанию, с ней связан его аккаунт. Директории и файлы, создаваемые пользователем, имеют Group ID именно этой, первичной группы. Любая другая группа (а их может быть много), в которую входит пользователь, является вторичной.
Создание групп
Давайте создадим две группы: «writers» («писатели») и «editors» («редакторы»). Для этого используется команда groupadd. (Возможно, потребуется также поставить sudo в начале команды, чтобы получить право создавать группы).
Создание пользователей
Возможно, у вас уже есть пользователи, которых вы могли бы добавить в только что созданные группы. Если нет, вот базовый синтаксис для создания пользователя при помощи команды useradd:
Ниже представлена команда для создания пользователя по имени «quincy». Флаг -m нужен для создания домашней директории пользователя (для ее названия используется имя пользователя). Флаг -p позволяет задать пароль для пользователя, в данном случае — «p4ssw0rd».
Позже пользователь сможет изменить свой пароль при помощи команды passwd. Для этого ему понадобится ввести текущий пароль и новый.
Добавление пользователя в группу
Для добавления пользователя в группу используется команда usermod. Давайте добавим пользователя «quincy» в группу «writers». Опция -a означает «append» («добавить», «прикрепить»), а опция -G служит для указания названия вторичной группы.
Когда вы создаете пользователя при помощи команды adduser, для него автоматически создается первичная группа, носящая его имя. Поэтому в настоящее время пользователь «quincy» состоит в первичной группе «quincy» и вторичной «writers».
Также можно добавить пользователя сразу в несколько групп, перечислив их через запятую без пробелов (-G group1,group2,group3).
А эта команда изменит первичную группу пользователя quincy на группу «editors»:
Удаление пользователя из вторичной группы
Чтобы удалить пользователя из вторичной группы, нужно перезаписать список групп пользователя, задав набор групп, в котором не будет этой вторичной группы.
При помощи команды id смотрим, в каких группах состоит пользователь (опция -n нужна для вывода названий групп, а не их ID).
Предположим, мы увидели, что пользователь quincy состоит в группах «editors» и «writers». Если мы хотим удалить его из группы «writers», мы можем воспользоваться следующей командой:
Эта команда очень похожа на ту, которой мы установили для пользователя quincy вторичную группу «editors». Но поскольку мы сейчас не использовали флаг -a, предыдущий список групп просто перезаписался, и теперь в нем нет группы «writers».
Заключение
Теперь вы можете начать управлять группами и пользователями. Следующий шаг — определить, какие привилегии должны быть у каждой группы.
Источник
Linux List Group Members in Linux Terminal
In this tutorial, we’ll look at different ways of how you can list members of a group in Linux. The /etc/group text file stores group information. There’s one entry per line containing the following information:
- Group name
- Password
- Group ID (GID)
- Group users’ list
To get a picture of what we are talking about, we are going to create new users and later add them to a group called opensource .
Adding a new user
To add a new user to Linux run the following command:
Using the same command and procedure, we can add more users, in this case, ‘James’, ‘Alice’, and ‘Paul’.
Adding a new group
To add a new group you need use ‘groupadd’ command.
The following command will add a new group ‘opensource’.
To confirm the group exists in ‘/etc/group’ run:
Adding users to the group
Now, let’s add the newly created users to the group ‘opensource’. We will use usermod command for this.
To add the user ‘james’ to the group ‘opensource’ run the following command:
How to list members of a group
1) Using cat /etc/group
As we saw earlier, group information is stored in /etc/group . To display this information run
You’ll get a list of system-defined groups and the group we created earlier
opensource is the group name
x represents the encrypted password
1005 represents the group ID (GID)
James, Alice, Paul represents the users existing in the group.
2) Using members command
You can use members command to list users in a group.
The syntax for this is
In this example, we’ll have
Output
3) Using getent command
You can also use the getent command to list users in the group.
Below is the syntax:
Output
4) Using a perl script
Finally, you can list all groups in your Linux system and display all the members in those groups using a perl script as shown.
First, create the script using your favorite text editor
Give the script execute permissions
Finally, run the script
Sample Output
As seen above, we’ve been able to accomplish a lot with little effort using the shell script.
Conclusion
In this brief tutorial, we’ve shown you basic commands alongside a perl script that you can use to conveniently display groups and members of those groups. We’re glad you took time with us. Stay here for more informative tutorials.
Источник
Linux Show All Members of a Group Command
Linux Show All Members of a Group Commands
- /etc/group file – User group file
- members command – List members of a group
- lid command (or libuser-lid on newer Linux distros) – List user’s groups or group’s users
Tutorial details | |
---|---|
Difficulty level | Easy |
Root privileges | Yes |
Requirements | None |
Est. reading time | 1m |
There are two types of groups in Linux:
- Primary group – is the main group that is associated with user account. Each user is a member of exactly one primary group.
- Secondary group – used to provide additional rights to user. For example, access to the dvd/cdrom drive can be granted with help of cdrom group.
Linux: List all members of a group using /etc/group file
Use the grep command or cat command/more command as follows:
$ grep ‘grpup-name-here’ /etc/group
$ grep ‘ftponly’ /etc/group
$ cat /etc/group
$ less /etc/group
$ grep -i —color ‘ftponly’ /etc/group
We can also type the compgen command or getend command to list all group names on Linux:
$ compgen -g
$ getent group
To get just a list of all members of a group called ftponly , type the following awk command:
Display group memberships for each Linux user
Want to see group memberships for each given USERNAME under Linux? The syntax is as follows for the groups command:
groups
groups
groups vivek
The following outputs indicates that the user named ‘vivek’ is part of four groups including ‘vivek’ primary group:
Linux List all members of a group using members command
Warning: members command is not installed on most Linux distros. Use yum command or apt-get command/apt command to install the same:
$ sudo apt-get install members
To outputs members of a group called ftponly, enter:
$ members
$ members ftponly
Fig. 01: members command in action to list members in a group
How to list all users in a Linux group using lid command
You can displays information about groups containing user name, or users contained in group name using lid command as follows.
Warning: lid command is not installed on most distros. Use yum command or apt-get command to install the same:
$ sudo apt-get install libuser
To see users contained in group named ‘ftponly’:
# lid -g ftponly
Please note that newer version of libuser renamed the lid command to libuser-lid . Thus, use it as follows:
$ sudo libuser-lid -g ftponly
Sample outputs:
To show information about groups containing user named ‘nixcraft’:
Use lid command or libuser-lid command on Linux to show all members of a group named nixcraft:
# lid nixcraft
OR
$ sudo libuser-lid nixcraft
Sample outputs:
See lid command man page for more information.
How to list groups in Linux
To see all users, run less command/more command:
less /etc/group
OR
more /etc/group
Another option is to type the following getent command:
getent group
For example, locate the members of a group with the name vboxusers, run:
getent group vboxusers
Sample outputs indicating vivek and raj users are part of vboxusers group:
- No ads and tracking
- In-depth guides for developers and sysadmins at Opensourceflare✨
- Join my Patreon to support independent content creators and start reading latest guides:
- How to set up Redis sentinel cluster on Ubuntu or Debian Linux
- How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
- How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
- A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
- How to protect Linux against rogue USB devices using USBGuard
Join Patreon ➔
Finally, you can use the id command to display real and effective user and group IDs:
id
id vivek
id -nG raj # show all group IDs for raj user
id -ng raj # show only effective group ID for raj user
Conclusion
Now you know how to use various Linux commands to show all members of a group. I suggest you read the man pages for more info by typing the following man command:
$ man libuser-lid
$ man members
🐧 Get the latest tutorials on Linux, Open Source & DevOps via
Источник
Группы пользователей 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 вам не кажется таким сложным. Если остались вопросы, пишите в комментариях!
Источник