Ответ 1
Чтобы получить список всех локальных групп, которым назначены пользователи, используйте эту команду:
cut -d: -f1 /etc/group | sort
Для более info-> Unix группы, команда Cut, команда сортировки
Я знаю, что есть файл /etc/group
, в котором перечислены все группы пользователей.
Я хотел бы знать, есть ли простая команда для перечисления всех имен групп пользователей, несмотря на разбор мирно читаемого файла /etc/group
. Я готов создать веб-страницу администратора, в которой перечислены имена групп учетных записей Linux.
Чтобы получить список всех локальных групп, которым назначены пользователи, используйте эту команду:
cut -d: -f1 /etc/group | sort
Для более info-> Unix группы, команда Cut, команда сортировки
Если вы хотите, чтобы все группы были известны системе, я бы порекомендовал использовать getent
вместо разбора /etc/group
. В сетевых системах группы могут не только читать из файла /etc/group
но и получать их через LDAP или "Желтые страницы", то есть список известных групп происходит из файла локальной группы плюс группы, полученные через LDAP или YP.
getent group
предоставит вам список всех групп в том же формате, который использует файл /etc/group
.
Если вы хотите только имена групп, getent group | cut -d: -f1
getent group | cut -d: -f1
выполнит работу (так же, как и выше).
В Linux, macOS и Unix для отображения групп, к которым вы принадлежите, используйте:
id -Gn
которая эквивалентна утилите groups
которая устарела в Unix (согласно руководству Unix).
В macOS и Unix для нормальной интерактивной работы предлагается id -p
команды id -p
.
Объяснение параметров:
-G
,--Groups
- вывести все идентификаторы группы
-n
,--name
- печатать имя вместо числа, для-ugG
-p
- сделать вывод понятным для человека.