Улучшите управление пользователями, узнав больше о существующих группах пользователей на вашем компьютере с Linux.

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

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

Использование файла /etc/group

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

Просмотрите содержимое файла с помощью команды cat:

кот /etc/группа

Поначалу вывод может сбить с толку. Где названия групп? И что это за "x" и двоеточие в выводе?

Первый столбец (текст перед первым двоеточием) — это то, что вам нужно. Вы можете просмотреть предварительную версию файла и отобразить только имена групп, используя команду cut:

кот /etc/группа | вырезать -d: -f1

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

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

кот /etc/группа | туалет -л

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

Получение списка групп с помощью команды getent

getent, сокращение от «получить записи», — это команда Linux для просмотра содержимого файлов системной информации, также известных как базы данных, в Linux. /etc/group, /etc/passwd, и /etc/shadow файлы являются хорошими примерами таких баз данных.

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

гент группа

Выход "гент группа" будет несколько отличаться от кот /etc/группа команда. Это связано с тем, что getent извлекает информацию о группе из других подобных баз данных в вашей системе (например, LDAP).

Используйте команду cut для анализа вывода и отображения только имен групп:

гент группа | вырезать -d: -f1

Команда getent универсальна. Ты можешь список имен всех пользователей в Linux получив все записи из /etc/passwd файл, а затем синтаксический анализ вывода для имен пользователей.

Просмотр списка групп для конкретного пользователя с помощью групп

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

Основной синтаксис команды:

имя пользователя группы

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

Чтобы получить список групп для пользователя с именем «testuser», запустите:

группы testuser

Группы упрощают контроль доступа пользователей в Linux

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

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