Посмотреть группы входит пользователь linux

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

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

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

Группы Linux

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Как восстановить файлы удаленные мимо корзины windows 10

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

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

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

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

Выводы

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

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

Источник

Посмотреть группы пользователя в Linux

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

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

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

Все группы, созданные в системе, находятся в файле /etc/group. Посмотрев содержание этого файла, вы можете узнать список групп linux, которые уже есть в вашей системе. И вы станете удивлены.

Если вы не введете имя пользователя, по умолчанию будет применено ваше имя. К примеру:

frame@ubuntuServ:$ groups
frame adm dialout cdrom floppy audio dip video plugdev lpadmin scanner admin fuse

Вы вдобавок можете проверить какие группы принадлежат другому пользователю, включая root:

frame@ubuntuServ:$ groups root
root : root fuse

Помимо стандартных root и users, здесь есть еще пару десятков групп. Это группы, сделанные программами, для управления доступом этих программ к общим ресурсам. Каждая группа позволяет чтение или запись определенного файла или каталога системы, тем самым регулируя полномочия юзера, а следовательно, и процесса, запущенного от этого пользователя. Здесь можно считать, что пользователь — это одно и то же что процесс, поэтому что у процесса все полномочия пользователя, от которого он запущен.

Просмотреть список всех групп в Linux

Когда вы хотите просмотреть список всех групп в вашей системе, вы можете использовать бригаду getent:

Этот вывод также покажет вам, какие учетные записи юзеров являются членами групп.

Добавление пользователя в Linux

Добавление пользователя осуществляется при поддержки команды useradd. Пример использоания:

Читайте также:  Драйвера для принтера epson stylus sx125 для windows 10

sudo useradd vasyapupkin

Управление группами юзера в Linux

Управлять группами можно и с помощью графического интерфейса. В KDE есть программа Kuser умышленно предназначенная для этого, в Gnome это выполняется с помощью настроек системы. Кроме того, в известных дистрибутивах есть отдельные инструменты, такие как YaST в OpenSUSE или Настройки Ubuntu. Но с графичным интерфейсом я думаю вы разберетесь. А мы рассмотрим управление группами linux через терминал. Для начала разберемся с файлами, а уже потом с пользователями.

При создании файла ему назначается основная группа юзера который его создал. Это просто например:

Здесь вы можете видеть, что владелец всех папок sergiy и группа также sergiy. Правильно, так как эти пользователи были созданы мной. Но давайте пойдем дальше:

Модифицирование первичной группы пользователя в Linux

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

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

usermod -g groupname username

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

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

Источник

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

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

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

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

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

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

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

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

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

Проще сделать groups [username]

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

cat /etc/passwd | awk -F’:’ ‘< print $1>‘ | xargs -n1 groups

Если вы получаете «groups: command not found», скорее всего, вы изменили свой путь к среде для худшего, чтобы сбросить путь PATH=$(getconf PATH)

перечисляет всех пользователей в указанной группе.

Читайте также:  Полезные скрипты для mac os

Я удивлен, что никто не упомянул

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

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

ОП сформулировал вопрос, чтобы исключить возможность использования команды groups . Так как это часть coreutils в Linux, либо (а) он был удален, либо (б) OP неправильно набирает имя.

OP мог бы использовать groups так, например:

Один предложенный ответ просто grep для названия группы в /etc/group . Иногда это работает как задумано.

Немного лучшее использование grep учитывает синтаксис /etc/group :

так что только часть перед первым двоеточием является допустимым именем группы. Простой grep без учета синтаксиса может (и будет) забирать вводящие в заблуждение совпадения из файла. Используйте регулярные выражения, чтобы grep соответствовал именно тому, что нужно:

или используя переменную оболочки:

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

Вы можете сделать то же самое, используя только grep и sed, но это больше, чем использование awk.

Другой предложенный ответ, предложенный с использованием getent , который также, вероятно, будет на Linux-машине (с Debian он является частью GNU libc). Однако быстрая проверка показывает, что он предоставляет только /etc/group контент.

У меня (как и у большинства) нет libusers или не lid установлено, поэтому я не могу комментировать, удовлетворяет ли он условиям ОП.

Также есть id программа, которая дает групповую информацию. Кто-то может расширить это как возможный ответ.

Источник

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

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

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

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

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

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

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

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

id -Gn имя_пользователя

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

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

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

Выводы

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

Источник

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