List all group members linux

Linux List Users/Members in Group Commands & Syntax

Linux List Users/Members in Group Commands & Syntax

In Linux, there is number of users and groups in the system who use and operate the system. The group is nothing but a logical mechanism to manage a collection of users.

There are two types of groups in Linux:,

The Primary group is the main group that the operating system assigns to files that are created by the user. Each user must belong to a primary group.

The Secondary group is any group other than your primary group. Users can belong to up to 15 secondary groups.

If you are a Linux system administrator then it is an essential part of you to find how to list users of a specific group.

In this tutorial, we will show you how to find and list all members of a group in Linux.

Basic Syntax of Groups Command

The basic syntax of groups command is shown below:

You can display all the groups available in your system with the following command:

You should get the following output:

vyom adm cdrom sudo dip plugdev lpadmin sambashare vboxusers chrome-remote-desktop

List All Groups Available in Your System

The simple and easiest way to list all the group available in your system with the following command:

You should see the following output:

root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,vyom
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:
cdrom:x:24:vyom,user1,user2
floppy:x:25:
tape:x:26:
sudo:x:27:vyom
audio:x:29:pulse
dip:x:30:vyom
www-data:x:33:
backup:x:34:
operator:x:37:
list:x:38:
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:
sasl:x:45:
plugdev:x:46:vyom
staff:x:50:
games:x:60:
users:x:100:
nogroup:x:65534:
libuuid:x:101:
netdev:x:102:
crontab:x:103:
syslog:x:104:
fuse:x:105:
messagebus:x:106:
ssl-cert:x:107:postgres
lpadmin:x:108:vyom
scanner:x:109:saned
mlocate:x:110:
ssh:x:111:
utempter:x:112:
avahi-autoipd:x:113:
rtkit:x:114:
saned:x:115:
whoopsie:x:116:
avahi:x:117:
lightdm:x:118:
nopasswdlogin:x:119:
bluetooth:x:120:
colord:x:121:
pulse:x:122:
pulse-access:x:123:
vyom:x:1000:
sambashare:x:124:vyom
vboxusers:x:125:vyom
postgres:x:126:
docker:x:999:
mysql:x:127:
chrome-remote-desktop:x:128:vyom
snmp:x:129:
user1:x:1001:
user2:x:1002:

You can also see the sample output in the following screen:

You can list all available groups with the following commands:

List all Members of a Group with Command Line

There are several ways you can list all members of a specific group. In this section, we will show you different methods to find all members of a group.

List all Members of a Group with the /etc/group File

The /etc/group is a file that contains information about all groups. You can use cat with grep command as shown below:

cat /etc/group | grep -i groupname

For example, if you want to list all members of a group named cdrom, run the following command:

cat /etc/group | grep -i cdrom

You should see the following output:

You can also list all members of a group named cdrom using the awk command as shown below:

Читайте также:  Узнать модель ssd linux

You should see the following output:

You can also see the sample output in the following screen:

List all Members of a Group with members Command

You can also print all members of a group with members command. By default, members command is not installed in most Linux operating systems. You can install it by running the following command:

After installing members package, you can all members of a specific group with the following command:

For example, to display all the members of a group named cdrom run the following command:

You should see the following output:

List all Members of a Group with lid Command

lid is an another command-line utility that can be used to provide information about groups containing usernames.

By default, lid utility is not installed in most Linux operating systems. You can install it by just running the following command:

Once installed, you can display all users in the group named cdrom with the following command:

You should see the following output:

vyom(uid=1000)
user1(uid=1001)
user2(uid=1002)

With lid command, you can also see the information of all groups that contain user named vyom as shown below:

You should see the following output:

adm(gid=4)
cdrom(gid=24)
sudo(gid=27)
dip(gid=30)
plugdev(gid=46)
lpadmin(gid=108)
vyom(gid=1000)
sambashare(gid=124)
vboxusers(gid=125)
chrome-remote-desktop(gid=128)

You can also see the sample output in the following screen:

Conclusion

In the above tutorial, we learned how to find and list all users of a specific group in Linux. We have also learned different commands to find all the members of a group with examples. I hope you have now enough knowledge to use these commands in the production environment.

Recent Posts

  • Forcepoint Next-Gen Firewall Review & Alternatives
  • 7 Best JMX Monitoring Tools
  • Best PostgreSQL Backup Tools
  • Best CSPM Tools
  • Best Cloud Workload Security Platforms
  • Best Automated Browser Testing Tools
  • Event Log Forwarding Guide
  • Best LogMeIn Alternatives
  • Citrix ShareFile Alternatives
  • SQL Server Security Basics
  • Cloud Security Posture Management Guide
  • Cloud Workload Security Guide
  • The Best JBoss Monitoring Tools
  • ITL Guide And Tools
  • 10 Best Enterprise Password Management Solutions

Источник

Список пользователей группы в Linux

Мы уже много раз на этом сайте говорили про группы пользователей в Linux. Это основной и очень удобный способ управления полномочиями пользователей и процессов в этой операционной системе. Список групп, мы знаем, как посмотреть, а что, если нужно узнать, какие пользователи имеют доступ к ресурсам одной из групп?

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

Список пользователей группы в Linux

1. Файл /etc/group

Все группы, созданные в ОС Linux собраны в файле /etc/group. Синтаксис записи группы в этом файле следующий:

имя_группы :x: идентификатор : список_пользователей

  • имя_группы — имя, которое используется для управления группой и отображается в выводе команд;
  • x — заглушка для пароля;
  • идентификатор — уникальный идентификатор группы;
  • список_пользователей — все пользователи, которые входят в группу, разделённые запятой.

Таким образом, вы можете посмотреть список пользователей, просто отыскав группу в файле:

Или также можно воспользоваться регулярным выражением grep:

cat /etc/group | grep group7

Например, здесь в группу group7 входит только пользователь sergiy. А вот в группу adm входит sergiy и syslog:

Читайте также:  Linux хранилище корневых сертификатов

2. Команда members

Следующий способ посмотреть пользователей группы — команда members, в Ubuntu она поставляется по умолчанию. Если в вашем дистрибутиве её нет, то вы можете установить её из официальных репозиториев:

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

$ members опции имя_группы

В качестве пользователей можно передать:

  • —all — все пользователи группы;
  • —primary — только те пользователи, для которых эта группа является основной;
  • —secondary — только те пользователи, для которых эта группа является дополнительной;
  • two-lines — отобразить пользователей, для которых данная группа является основной и тех для кого она установлена в качестве дополнительной.

Например, посмотрим пользователей группы adm:

Или посмотрим пользователей, которые выбрали группу adm в качестве основной:

Как видите, таких пользователей нет, а те, которых мы видели раньше, используют эту группу в качестве дополнительной:

3. Команда lid

Команда lid тоже может отображать информацию о группах. Но перед тем, как вы сможете её использовать, её надо установить. Утилита входит в пакет libuser. В Ubuntu команда выглядит так:

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

Опция -g обязательна. Если её не передать, утилита покажет список групп текущего пользователя. Если не передать имя группы, то утилита покажет список пользователей основной группы текущего пользователя.

Выводы

В этой небольшой статье мы рассмотрели, как управлять списком пользователей группы Linux. Как видите, здесь нет ничего сложного. Если у вас остались вопросы, спрашивайте в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Похожие записи

Оцените статью

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

4 комментария к “Список пользователей группы в Linux”

Если уж пользовать grep, то во-первых, совершенно не обязательно отдавать поток cat-ом, потому что grep сам умеет читать текстовые файлы, и во-вторых, в регулярном выражении grep перед именем группы ставьте «морковку», тогда выхлоп будет более оптимальным. grep ^group_name /etc/group Таким образом вы избавитесь и от программного канала, и от лишних строк в выхлопе. Ответить

Чуток добавлю: Команда groups без параметров расскажет пользователю, в каких группах он состоит.
Команда groups alex расскажет, в каких группах состоит alex. В силу моей деятельности я часто встречаюсь со случаями, когда пользователи (конкретно — разработчики устройств на микроконтроллерах) не могут подключить какой своё устройство или программатор к компу. Нужно-то всего ничего! Нужно узнать, какую группу образует порт устройства и добавить пользователя (разработчика) в эту группу. Группу порта устройства можно узнать командой ls. Например, у нас есть железка на базе какого-нибудь микроконтроллера, которая подключается к компу посредством USB-порте. В железке используется микросхема конвертера USB/UART (типа FT232RL, CH340G, CP2103, . ) Всё вроде бы хорошо, но комповая программа не хочет соединяться с железкой. Тогда выполняем команду: $ ls -al /dev/ttyUSB0
crw-rw—- 1 root dialout 188, 0 окт 30 15:13 /dev/ttyUSB0 Здесь мы видим, что владельцем устройства является root, но устройство также входит в группу dialout. Теперь, чтобы получить доступ к устройству, нам (пользователю) нужно тоже входить в эту же группу. Выполняем команду: # adduser alex dialout # Команда выполняется из-под root-а. Затем заново входим в систему и с устройством можно работать. И если теперь выполнить команду groups, то можно заметить, что пользователь сейчас входит также и в группу dialout. Спасибо!
И поправьте, если я что-то не правильно сказал. Ответить

Читайте также:  Linux find all environment variables

у меня ls -alF показывает владельцев каталогов и файлов 10668 (папка с JDK) нет такого пользователя и группы. Это нормально вообще? как мне быть теперь если я захочу OpenJDK? каких владельцев мне указывать с chown ? Ответить

Источник

How to list all users in a Linux group?

I’m new here, I found out that SF exists right after I posted the question. I agree it belongs either to SF or SO.

20 Answers 20

It is portable across both Linux and Solaris, and it works with local group/password files, NIS, and LDAP configurations.

Unfortunately, there is no good, portable way to do this that I know of. If you attempt to parse /etc/group, as others are suggesting, you will miss users who have that group as their primary group and anyone who has been added to that group via a mechanism other than UNIX flat files (i.e. LDAP, NIS, pam-pgsql, etc.).

If I absolutely had to do this myself, I’d probably do it in reverse: use id to get the groups of every user on the system (which will pull all sources visible to NSS), and use Perl or something similar to maintain a hash table for each group discovered noting the membership of that user.

Edit: Of course, this leaves you with a similar problem: how to get a list of every user on the system. Since my location uses only flat files and LDAP, I can just get a list from both locations, but that may or may not be true for your environment.

Edit 2: Someone in passing reminded me that getent passwd will return a list of all users on the system including ones from LDAP/NIS/etc., but getent group still will still miss users that are members only via the default group entry, so that inspired me to write this quick hack.

 #!/usr/bin/perl -T # # Lists members of all groups, or optionally just the group # specified on the command line # # Copyright © 2010-2013 by Zed Pobre (zed@debian.org or zed@resonant.org) # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # use strict; use warnings; $ENV = "/usr/bin:/bin"; my $wantedgroup = shift; my %groupmembers; my $usertext = `getent passwd`; my @users = $usertext =~ /^([a-zA-Z0-9_-]+):/gm; foreach my $userid (@users) < my $usergrouptext = `id -Gn $userid`; my @grouplist = split(' ',$usergrouptext); foreach my $group (@grouplist) < $groupmembers-> = 1; > > if($wantedgroup) < print_group_members($wantedgroup); >else < foreach my $group (sort keys %groupmembers) < print "Group ",$group," has the following members:\n"; print_group_members($group); print "\n"; >> sub print_group_members < my ($group) = @_; return unless $group; foreach my $member (sort keys %<$groupmembers>) < print $member,"\n"; >> 

Источник

Оцените статью
Adblock
detector