É possível consultar o arquivo /etc/passwd para visualizar todos os UIDS de usuários menores que 200 e verificar se esses usuários estão dentro de um arquivo como /etc/ftpusers?
Até agora, consegui criar o comando abaixo, que lista todos os usuários com um UID inferior a 200, mas não tenho certeza de como verificar se esses usuários listados estão no arquivo /etc/ftpusers.
grep -Ev "^\+" /etc/passwd | awk -F: '($3 < 200) {print $1}'
Se algum usuário não estiver no arquivo, preciso que a diferença seja exibida. Tentei usar uma instrução for, mas não funcionou bem.
Responder1
Não sei se aix diff
tenho a mesma opção, GNU diff
mas no meu linux
this quando executado com ksh
(o shell padrão em aix
) funciona:
diff -I "^#" --new-line-format="" --unchanged-line-format="" <(awk -F: '$3 < 200 {print $1}' /etc/passwd) /etc/ftpusers
Se o diff
comando for diferente, tente com um loop:
for u in $(awk -F":" '$3 < 200 {print $1}' /etc/passwd); do
count=$(grep -scx "$u" /etc/ftpusers)
[ "$count" -gt 0 ] || echo "$u"
done
Eu testei ksh
e funcionou.
Também verifiquei as grep
opções disponíveis no grep
whit distribuído aix
e ele suporta tanto -c
contagem quanto -s
supressão de mensagens de erro.