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.