Encontrou uma maneira de fazer isso via Fórum de marionetes usando o gerar função:
You can use the generate() function to that.
You'd basically create a script that does whatever processing you need, then $shadow_hash = generate('/path/to/script').
Eu escrevi um script simples para recuperar o hash:
#!/bin/bash
SHADOW_FILE='/etc/shadow'
awk -F: "\ == \"$@\"" ${SHADOW_FILE} | awk -F: '{print $2}' || echo ''
E a função generate
parece assim:
$shadow_hash = generate('/bin/bash','/usr/local/sbin/extract_shadow_hash', $user)
Espero que isso ajude alguém. Parece uma função que pode ser útil em vários casos de uso.