Temos vários servidores e gostaria de imprimir a lista de usuários e o nível de acesso usando o bash.
Tentei o comando abaixo, mas não consegui obter o resultado exato que queria:
awk '/Allow root/{p=5} p > 0 {print $1; p--}' /etc/sudoers
comando acima, apenas me dê cinco entradas como abaixo
##
root
abcd
ghfd
fcff
mas devo obter o O/P conforme abaixo:
UserList AccessLevel
root ALL
abcd !/usr/bin/*
Posso obter a saída acima?
Responder1
Depois de fazer tantos experimentos, consigo chegar o mais próximo possível com o comando abaixo.
grep "ALL=(ALL)" /etc/sudoers | awk '{ print $1 "\t""\t""\t" $3 $4}' | cut -d '#' -f1 | cut -d '%' -f1
e a saída é a seguinte:
xxxx ALL
xxxxxx ALL
xxxx ALL
xxxx NOPASSWD:ALL
abcd ALL
xxxx ALL
Mas ainda estou obtendo resultados separados por espaço. eu quero pular esses espaços na saída.