Wie drucke ich nur die Benutzerliste und die Zugriffsebene aus /etc/sudoers?

Wie drucke ich nur die Benutzerliste und die Zugriffsebene aus /etc/sudoers?

Wir haben mehrere Server und ich möchte mit Bash die Benutzerliste und die Zugriffsebene ausdrucken.

Ich habe den folgenden Befehl ausprobiert, konnte aber nicht genau das gewünschte Ergebnis erzielen:

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

Geben Sie mir über dem Befehl einfach die fünf Einträge wie unten

## 
root    
abcd
ghfd
fcff

aber ich sollte das O/P wie folgt erhalten:

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

Kann ich die Ausgabe wie oben erhalten?

Antwort1

Nachdem ich so viele Experimente durchgeführt habe, bin ich mit dem folgenden Befehl in der Lage, es so nahe wie möglich zu erreichen.

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

und die Ausgabe ist wie folgt:

xxxx                    ALL
xxxxxx                      ALL
xxxx                 ALL


xxxx                        NOPASSWD:ALL
abcd                 ALL
xxxx                 ALL

Aber ich erhalte immer noch eine durch Leerzeichen getrennte Ausgabe. Ich möchte diese Leerzeichen in der Ausgabe überspringen.

verwandte Informationen