У нас несколько серверов, и я хотел бы распечатать список пользователей и уровень доступа с помощью 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
Но все же я получаю вывод, разделенный пробелами. Я хочу пропустить эти пробелы в выводе.