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 echolinha 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.