Как узнать, какие пользователи входят в группу в Linux?

Как узнать, какие пользователи входят в группу в Linux?

Недавно я создавал новых пользователей и назначал их в определенные группы. Мне было интересно, есть ли команда, которая показывает всех пользователей, назначенных в определенную группу? Я пробовал использовать команду 'groups', однако всякий раз, когда я ее использую, она говорит 'groups: not found'

решение1

Я предпочитаю использоватьгетенткоманда ...

Поскольку getent использует ту же службу имен, что и система, getent будет отображать всю информацию, включая полученную из сетевых источников информации, таких как LDAP.

Итак, для группы вам следует использовать следующее...

getent group name_of_group

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

Существует множество других поисков, которые вы можете выполнить... passwdЕще один полезный поиск — это составление списка основных групп.

решение2

Вы можете использовать grep:

grep '^group_name_here:' /etc/group

Это только перечисляет членство в дополнительных группах, а не пользователя, у которого эта группа является основной. И это находит только локальные группы, а не группы из сетевой службы, такой как LDAP.

решение3

Легче сделатьgroups [username]

Если вы хотите вывести список всех локальных пользователей и их локальные группы, вы можете сделать это

cat /etc/passwd | awk -F':' '{ print $1}' | xargs -n1 groups

Если вы получили сообщение «группы: команда не найдена», скорее всего, вы отредактировали свой путь окружения в худшую сторону. Чтобы сбросить путь, выполните следующие действия:PATH=$(getconf PATH)

решение4

groupsКоманда выводит членство в группах для пользователя. Вы можете использовать lidкоманду для перечисления пользователей в группе, например:

# lid -g <groupname>

Обновление: В дистрибутивах на базе Debian имя команды отличается на libuser-lid. Обе команды предоставляются пакетом, libuserкак упомянул @chris-down.

$ sudo libuser-lid -g lpadmin
kadir(uid=xxxx)

Связанный контент