Estou tentando definir em massa algumas senhas de contas de usuário usando chpasswd
. As senhas devem ser geradas aleatoriamente e impressas stdout
(preciso anotá-las ou colocá-las em um armazenamento de senhas) e também passadas para chpasswd
.
Ingenuamente, eu faria isso assim
{
echo student1:$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13 ; echo '')
echo student2:$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13 ; echo '')
} | tee >(chpasswd)
No entanto, me preocupo em passar a nova senha como um argumento de linha de comando para echo
, porque os argumentos geralmente são visíveis para outros usuários ps -aux
(embora eu nunca tenha visto nenhuma echo
linha aparecer ps
).
Existe uma maneira alternativa de acrescentar um valor à minha senha retornada e passá-la para chpasswd
?
echo
é um shell embutido. Não apareceria na tabela de processos.