Список пользователей группы в Linux
Мы уже много раз на этом сайте говорили про группы пользователей в Linux. Это основной и очень удобный способ управления полномочиями пользователей и процессов в этой операционной системе. Список групп, мы знаем, как посмотреть, а что, если нужно узнать, какие пользователи имеют доступ к ресурсам одной из групп?
Посмотреть список пользователей группы в Linux достаточно просто, для этого существует несколько способов. И в этой статье мы их все рассмотрим.
Список пользователей группы в Linux
1. Файл /etc/group
Все группы, созданные в ОС Linux собраны в файле /etc/group. Синтаксис записи группы в этом файле следующий:
имя_группы :x: идентификатор : список_пользователей
- имя_группы — имя, которое используется для управления группой и отображается в выводе команд;
- x — заглушка для пароля;
- идентификатор — уникальный идентификатор группы;
- список_пользователей — все пользователи, которые входят в группу, разделённые запятой.
Таким образом, вы можете посмотреть список пользователей, просто отыскав группу в файле:
Или также можно воспользоваться регулярным выражением grep:
cat /etc/group | grep group7
Например, здесь в группу group7 входит только пользователь sergiy. А вот в группу adm входит sergiy и syslog:
2. Команда members
Следующий способ посмотреть пользователей группы — команда members, в Ubuntu она поставляется по умолчанию. Если в вашем дистрибутиве её нет, то вы можете установить её из официальных репозиториев:
sudo apt install members
Для других дистрибутивов будут отличаться только пакетные менеджеры, пакет утилиты называется так же. Для работы утилите надо передать только имя группы:
$ members опции имя_группы
В качестве пользователей можно передать:
- —all — все пользователи группы;
- —primary — только те пользователи, для которых эта группа является основной;
- —secondary — только те пользователи, для которых эта группа является дополнительной;
- two-lines — отобразить пользователей, для которых данная группа является основной и тех для кого она установлена в качестве дополнительной.
Например, посмотрим пользователей группы adm:
Или посмотрим пользователей, которые выбрали группу adm в качестве основной:
members —primary adm
Как видите, таких пользователей нет, а те, которых мы видели раньше, используют эту группу в качестве дополнительной:
members —secondary adm
3. Команда lid
Команда lid тоже может отображать информацию о группах. Но перед тем, как вы сможете её использовать, её надо установить. Утилита входит в пакет libuser. В Ubuntu команда выглядит так:
sudo apt install libuser
Чтобы посмотреть пользователей группы, достаточно, как и в предыдущем варианте, передать утилите имя:
sudo libuser-lid -g adm
Опция -g обязательна. Если её не передать, утилита покажет список групп текущего пользователя. Если не передать имя группы, то утилита покажет список пользователей основной группы текущего пользователя.
Выводы
В этой небольшой статье мы рассмотрели, как управлять списком пользователей группы Linux. Как видите, здесь нет ничего сложного. Если у вас остались вопросы, спрашивайте в комментариях!
Оцените статью:
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.
4 комментария
Если уж пользовать 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
В операционных системах семейства Linux у пользователя есть основная группа, а также определённое количество дополнительных групп. Это удачное, стратегически продуманное решение. С помощью этих групп можно давать пользователю доступ к нужным файлам в системе, не давая ему прав владельца этими файлами и не открывая для них общий доступ.
Более подробно про использование групп читайте в статье группы в Linux, а в этой заметке мы поговорим о том, как посмотреть список групп пользователя Linux.
Список групп пользователя Linux
Вы можете посмотреть список групп пользователя Linux двумя основными способами. Это команда id, которую мы уже разбирали в статье о том, как узнать id пользователя Linux, и команда groups. Чтобы вывести всю информацию о пользователе, используйте id:
Чтобы вывести только список групп текущего пользователя, необходимо использовать опцию -G:
Команда выводит идентификаторы групп, если вы хотите получить их имена, то необходимо добавить опцию -n:
Если надо узнать список групп для определённого пользователя, просто передайте его имя в качестве параметра:
id -Gn имя_пользователя
Следующий вариант просмотра списка групп — команда groups:
И точно также можно узнать группу пользователя Linux, передав его имя команде:
Ещё можно посчитать количество групп, в которых состоит пользователь Linux:
Выводы
Как видите, всё очень просто. Вы можете буквально с помощью одной команды посмотреть группы пользователей Linux, причём не только для текущего пользователя, а для всех, кто вас интересует. Если у вас остались вопросы, спрашивайте в комментариях!
Как узнать группы пользователей Linux
Группы являются неотъемлемой частью базовой безопасности файловой системы Linux. Если вы знаете о разрешениях для файлов в Linux, вы уже знаете, что группы играют огромную роль в ограничении и разрешении доступа к файлам только для желаемых пользователей.
Идея состоит в том, чтобы собрать пользователей в группу на основе их ролей. Таким образом, вы можете легко установить разрешения для предполагаемых групп пользователей. Например, пользователи в группах sudo могут запускать команды с привилегиями суперпользователя, в то время как другие пользователи не могут.
Теперь вам может быть интересно узнать, к каким группам вы принадлежите, и это именно то, что я собираюсь показать вам в этой быстрой статье.
Проверьте группу пользователей в командной строке Linux
Чтобы узнать, к каким группам принадлежит ваша учетная запись, просто используйте эту команду:
Это покажет все группы, к которым вы принадлежите.
Как видите, пользователь andreyex принадлежит к группам andreyex, sudo, adm и нескольким другим группам.
Мы используем Ubuntu в этой статье, и Ubuntu создает группу с тем же именем, что и пользователь. Вот почему вы видите пользователя andreyex, принадлежащего к группе andreyex.
Узнайте группы других пользователей в Linux
Вы только что научились видеть группы, к которым принадлежите. Как насчет проверки групп других пользователей в вашей системе?
Вы, наверное, уже знаете, как составить список пользователей в Linux. Когда вы знаете имя пользователя, вы можете найти, к какой группе оно принадлежит, используя команду groups следующим образом:
Очевидно, вам придется заменить имя_пользователя в приведенной выше команде на имя другого пользователя.
Вы также можете проверить группы из более чем одного пользователя одновременно
Выходные данные будут отображать информацию о группах для каждого пользователя в отдельных строках:
Вы можете видеть, что получение групповой информации о пользователе является простой задачей. Это может пригодиться во многих ситуациях, и мы позволим вам испытать их самостоятельно.
Надеюсь, этот небольшой совет помог вам составить список групп пользователей в Linux. Вы также можете прочитать о проверке членов группы в Linux.
Если у вас есть вопросы или предложения, пожалуйста, не стесняйтесь использовать раздел комментариев.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.