Назад | Перейти на главную страницу

Как распечатать только список пользователей и уровень доступа из / 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/*

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

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

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

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