Estoy tratando de configurar en masa algunas contraseñas de cuentas de usuario usando chpasswd
. Las contraseñas deben generarse al azar e imprimirse en stdout
(necesito escribirlas o guardarlas en un almacén de contraseñas), y también pasarlas chpasswd
.
Ingenuamente, haría esto así
{
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)
Sin embargo, me preocupa pasarle la nueva contraseña como argumento de la línea de comandos echo
, porque los argumentos generalmente son visibles para otros usuarios ps -aux
(aunque nunca vi echo
aparecer ninguna línea ps
).
¿Hay alguna forma alternativa de anteponer un valor a mi contraseña devuelta y luego pasarla chpasswd
?
echo
Es un shell incorporado. No aparecería en la tabla de procesos.