J'essaie de définir en masse quelques mots de passe de compte d'utilisateur à l'aide chpasswd
. Les mots de passe doivent être générés de manière aléatoire et imprimés sur stdout
(j'ai besoin de les écrire ou de les mettre dans un magasin de mots de passe), et également passés dans chpasswd
.
Naïvement, je ferais ça comme ça
{
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)
Cependant, je m'inquiète de passer le nouveau mot de passe comme argument de ligne de commande echo
, car les arguments sont généralement visibles par les autres utilisateurs de ps -aux
(bien que je n'ai jamais vu de echo
ligne apparaître ps
).
Existe-t-il une autre façon d'ajouter une valeur à mon mot de passe retourné, puis de la transmettre chpasswd
?
echo
est un shell intégré. Cela n'apparaîtrait pas dans le tableau des processus.