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)\$\")")" [...]