Скрипт оболочки для списка пользователей по группам

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

это похоже на команду GROUPS, но для всех пользователей и их идентификаторов я использовал cat -d: -f1,3 /etc/passwd, чтобы показать пользователям их идентификаторы, но я не знаю, как я могу использовать группы для каждой строки

не могли бы вы помочь мне написать этот сценарий спасибо

1 ответ

Решение

Используйте этот скрипт:

#! /bin/bash
#
for i in $(cat /etc/passwd  | cut -d: -f1); do
   echo -n $i ": "
   grep $i /etc/group | cut -d: -f1 | tr "\n" " "
   echo
done

Он перечислит всех пользователей в системе (включая систему) и распечатает список групп рядом с ними. С тривиальной модификацией вы также можете распечатать числовой идентификатор.

Другие вопросы по тегам