Linux вывод по группам

Linux вывод по группам

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

Базовый синтаксис команды выглядит следующим образом:

$ groups [параметры] [имя пользователя]

Утилита может вызываться как без имени пользователя, так и с ним. В случае указания имени пользователя она будет выводить список групп, в которых состоит этот пользователь, в случае отказа от его указания — список групп, в которых состоит вызвавший ее пользователь. Что касается параметров, то они не влияют каким-либо образом на работу утилиты и предназначены лишь для вывода информации об ее использовании (—help) и версии (—version).

Примеры использования

Вывод списка групп, в которых состоит текущий пользователь

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

$ groups
alexf wheel
$ whoami
alexf

Из вывода видно, что текущий пользователь alexf (имя которого было получено с помощью команды whoami) состоит в своей основной группе alexf, а также в группе wheel.

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

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

$ groups alexf
alexf : alexf wheel
$ groups root
root : root
$ groups dbus
dbus : dbus

Как видно из вывода, утилита выводит список групп в которых состоят как обычные пользователи (alexf), так и суперпользователь (root) и системные пользователи (dbus).

Источник

Как вывести список групп в Linux

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

Читайте также:  Red hat linux виртуализация

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

Группы Linux

Пользователь может принадлежать к двум типам групп:

  • Первичная группа или группа входа в систему — это группа, которая назначается файлам, создаваемым пользователем. Обычно имя основной группы совпадает с именем пользователя. Каждый пользователь должен принадлежать ровно к одной основной группе.
  • Вторичная или дополнительная группа — используется для предоставления определенных привилегий набору пользователей. Пользователь может быть участником нуля или нескольких вторичных групп.

Список всех групп, членом которых является пользователь

Есть несколько способов узнать, к каким группам принадлежит пользователь.

Основная группа пользователей хранится в /etc/passwd а дополнительные группы, если таковые имеются, перечислены в /etc/group .

Один из способов найти группы пользователей — перечислить содержимое этих файлов с помощью cat , less или grep . Другой более простой вариант — использовать команду, цель которой — предоставить информацию о пользователях и группах системы.

Использование команды groups

Самая запоминающаяся команда для вывода списка всех групп, членом которых является пользователь, — это команда groups . При выполнении без аргумента команда распечатает список всех групп, к которым принадлежит текущий зарегистрированный пользователь:

Первая группа — это основная группа.

john adm cdrom sudo dip plugdev lpadmin sambashare

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

Как и раньше, первая группа является первичной.

Используя команду id

Команда id выводит информацию об указанном пользователе и его группах. Если имя пользователя не указано, отображается информация для текущего пользователя.

Например, чтобы получить информацию о пользователе linuxize вы должны ввести:

Команда покажет идентификатор пользователя ( uid ), основную группу пользователя ( gid ) и вторичные группы ( groups ) пользователя.

uid=1001(linuxize) gid=1001(linuxize) groups=1001(linuxize),27(sudo) 

Чтобы напечатать только имена вместо чисел, используйте параметр -n . Опция -g выведет только основную группу и -G все группы.

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

john adm cdrom sudo dip plugdev lpadmin sambashare 

Список всех участников группы

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

Читайте также:  Dd linux команда progress

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

Если группа существует, команда напечатает группу и всех ее членов:

Если нет вывода, это означает, что группа не существует.

Список всех групп

Чтобы просмотреть все группы, присутствующие в системе, просто откройте файл /etc/group . Каждая строка в этом файле представляет информацию для одной группы.

Другой вариант — использовать команду getent которая отображает записи из баз данных, настроенных в файле /etc/nsswitch.conf включая базу данных group которую мы можем использовать для запроса списка всех групп.

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

Вывод такой же, как при отображении содержимого файла /etc/group . Если вы используете LDAP для аутентификации пользователя, getent отобразит все группы как из файла /etc/group и из базы данных LDAP.

Вы также можете использовать awk или cut для печати только первого поля, содержащего имя группы:

Выводы

В этом руководстве вы узнали, как найти группы, членом которых является пользователь. Те же команды применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

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

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

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

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

Вы можете посмотреть список групп пользователя Linux двумя основными способами. Это команда id, которую мы уже разбирали в статье о том, как узнать id пользователя Linux, и команда groups. Чтобы вывести всю информацию о пользователе, используйте id:

Чтобы вывести только список групп текущего пользователя, необходимо использовать опцию -G:

Команда выводит идентификаторы групп, если вы хотите получить их имена, то необходимо добавить опцию -n:

Если надо узнать список групп для определённого пользователя, просто передайте его имя в качестве параметра:

Следующий вариант просмотра списка групп — команда groups:

Читайте также:  Linux отключить всех пользователей

И точно также можно узнать группу пользователя Linux, передав его имя команде:

Ещё можно посчитать количество групп, в которых состоит пользователь Linux:

Выводы

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

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

Источник

Добавление пользователя в группу. Списки пользователей и групп в Linux

Пользователь и группы в Linux

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

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

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

При выполнении команды groups без аргументов, выводится список групп текущего пользователя.

# groups pingvinus adm cdrom sudo dip plugdev lpadmin sambashare 

Можно указать имя пользователя, для которого нужно вывести список групп, в которых он состоит. Например, выведем группы, в которых состоит пользователь 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.

Список всех пользователей

Выведем список всех пользователей в текущей системе Linux.

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

root daemon bin sys sync games . nobody pingvinus

Можно ограничить вывод только теми пользователями, для которых домашняя директория расположена в директории /home.

cat /etc/passwd | grep '/home' | cut -d: -f1

Результат значительно короче.

Источник

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