Você poderia usar o Perl:
perl -e "print crypt(\"foo\", \"\\$$(</dev/urandom tr -dc 'a-zA-Z0-9' | head -c 32)\$\")"
Ou Python com o módulo crypt :
python -c "import crypt; print crypt.crypt(\"foo\", \"\\$$(</dev/urandom tr -dc 'a-zA-Z0-9' | head -c 32)\$\")"
-
foo : a senha para criptografar
-
$6 : o tipo de criptografia, neste caso, SHA-512
-
$(</dev/urandom tr -dc 'a-zA-Z0-9' | head -c 32) : o sal de criptografia, neste caso, uma cadeia aleatória de 32 caracteres.
Em conjunto com useradd :
useradd [...] -p"$(perl -e "print crypt(\"foo\", \"\\$$(</dev/urandom tr -dc 'a-zA-Z0-9' | head -c 32)\$\")")" [...]
Ou:
useradd [...] -p"$(python -c "import crypt; print crypt.crypt(\"foo\", \"\\$$(</dev/urandom tr -dc 'a-zA-Z0-9' | head -c 32)\$\")")" [...]