Как проверить группы пользователя linux

Посмотреть группы пользователя в 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. Пример использоания:

sudo useradd vasyapupkin

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

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

Читайте также:  Значок текстового документа windows 10

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

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

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

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

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

usermod -g groupname username

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

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

Источник

Группы пользователей в Linux

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

Это основной и очень удобный способ управления правами пользователей и процессов в этой операционной системе.

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

Файл /etc/group

Все группы, созданные в Linux, собираются в файле /etc/group.

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

group_name : x : id : user_list

  • group_name: имя, которое используется для управления группой и отображается на выходе команд;
  • x: пароль (не хранит реальный пароль)
  • id: уникальный идентификатор группы
  • user_list: все пользователи, входящие в группу, разделяются запятой.

Чтобы просмотреть список членов группы (в этом примере group adm), мы можем использовать комбинацию команд cat и grep

Вывод команды показывает, что членами группы adm являются пользователи gharutyunyan и syslog.

Команда members

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

Если ее нет в вашем дистрибутиве, вы можете установить его из официальных репозиториев командой sudo apt install members.

Источник

Как перечислить группы в Linux

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

Linux группы

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

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

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

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

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

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

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

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

Читайте также:  Как разрешить обновления windows 10

Первая группа является основной группой.

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

Как и прежде, первая группа является основной.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

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

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

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

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

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

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

Добавление пользователя в группу

Чтобы в Linux добавить существующего пользователя в группу используется команда usermod с ключами -a и -G группа . Например, добавим пользователя pingvinus в группу editorsgroup.

После выполнения данной команды пользователю pingvinus необходимо выйти и снова войти в систему. Можно воспользоваться командой su, чтобы войти от имени пользователя pingvinus в текущем сеансе.

Удаление пользователя из группы

Удалим пользователя pingvinus из группы editorsgroup.

Чтобы изменения вступили в силу, нужно выйти и войти в систему.

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

Выведем список всех групп в текущей системе Linux.

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

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

Читайте также:  Windows 9 существует или нет

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

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

Источник

Как я могу узнать, какие пользователи входят в группу в 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)

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

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

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

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 программа, которая дает групповую информацию. Кто-то может расширить это как возможный ответ.

Источник

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