Как вывести только список пользователей и уровень доступа из /etc/sudoers?

Как вывести только список пользователей и уровень доступа из /etc/sudoers?

У нас есть несколько серверов, и я хотел бы вывести список пользователей и уровень доступа с помощью bash.

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

awk '/Allow root/{p=5} p > 0 {print $1; p--}'   /etc/sudoers

команда выше просто даст мне пять записей, как показано ниже

## 
root    
abcd
ghfd
fcff

но я должен получить O/P, как показано ниже:

UserList      AccessLevel
root           ALL
abcd        !/usr/bin/*

Могу ли я получить результат, как указано выше?

решение1

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

grep "ALL=(ALL)" /etc/sudoers | awk  '{ print $1 "\t""\t""\t" $3 $4}' | cut -d '#' -f1 | cut -d '%' -f1

и вывод такой:

xxxx                    ALL
xxxxxx                      ALL
xxxx                 ALL


xxxx                        NOPASSWD:ALL
abcd                 ALL
xxxx                 ALL

Но я все равно получаю вывод, разделенный пробелами. Я хочу пропустить эти пробелы в выводе.

Связанный контент