Estou tentando definir em massa algumas senhas de contas de usuário usando chpasswd
. As senhas devem ser geradas aleatoriamente e impressas para 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, eu 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 em ps
).
Existe uma maneira alternativa de anexar um valor à minha senha retornada e, em seguida, passá-la para chpasswd
?