¿Cómo imprimir solo la lista de usuarios y el nivel de acceso desde /etc/sudoers?

¿Cómo imprimir solo la lista de usuarios y el nivel de acceso desde /etc/sudoers?

Tenemos varios servidores y me gustaría imprimir la lista de usuarios y el nivel de acceso usando bash.

Intenté el siguiente comando pero no pude obtener el resultado exacto que quería:

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

El comando anterior solo dame cinco entradas como se muestra a continuación.

## 
root    
abcd
ghfd
fcff

pero debería obtener el O/P como se muestra a continuación:

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

¿Puedo obtener el resultado como se muestra arriba?

Respuesta1

Después de hacer tantos experimentos, puedo lograrlo lo más cerca posible con el siguiente comando.

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

y el resultado es el siguiente:

xxxx                    ALL
xxxxxx                      ALL
xxxx                 ALL


xxxx                        NOPASSWD:ALL
abcd                 ALL
xxxx                 ALL

Pero todavía obtengo una salida separada por espacios. Quiero omitir esos espacios en la salida.

información relacionada