Usando senha com hash para a função adduser no Linux

3

Desculpe, sou novato no Linux e estou procurando por informações, como criar uma nova conta de usuário no Debian com uma senha criptografada pré-definida.

Eu tenho uma função no bash, que se novos ids do usuário não são apresentados no meu arquivo / etc / passwd, então eu executo o comando bash:

adduser -m -p <encrypted-password> <username>

até agora tudo bem, mas todos os meus dados, incluindo o nome de usuário e a senha, são armazenados na saída JSON e a senha do usuário já é criptografada pelo SHA-512 (por motivos de segurança). A senha do usuário é criptografada por script PHP e enviada para o JSON:

$hashed_password = crypt('Test007', '$6$rounds=5000$StJ.1Wji$');
echo looks like this: $6$rounds=5000$StJ.1Wji$cm6ZVl.XoIiQXaJAVHkqiteUGAqZoJ1Ee3dpHP2a6x6rG/kHg4k7ucMLrzHCvQA1TpQYP4eKnoFITVGcviqjU0

Depois da função adduser quando olho no meu arquivo /etc/shadow , vejo que a senha hash é diferente da original gerada pelo PHP e é claro que não consigo logar o novo usuário com essa senha em texto simples (mesmo que eu saiba em texto simples).

Existe uma maneira fácil de criar uma conta de usuário com uma senha criptografada predefinida? Como gerar uma senha com hash para ser aceita pela função useradd do Linux? Não consigo encontrar soluções na internet.

    
por scree 11.11.2015 / 10:22

1 resposta

2

Esse $6$rounds=5000 provavelmente faz parte do problema, porque, exceto pelo líder $6 , todo o valor foi passado para adduser precisa ser um hash válido. Também (não aparente em seu fragmento de script), o valor deve ser citado para evitar a expansão do parâmetro, por exemplo,

adduser -m -p '$6$gehr8sgkkX$lMZ5bmb7c4HY76pnn0uUXA5wH51YE0Byp4rIfcA94gWrVvfeNVQsMwoW2erVuxzFScxRvaHOLFMqVSYCjVlTV/' oneshot

Eu usei o mkpasswd para obter um valor como sugerido em Como criar uma senha hash SHA-512 para sombra?

Em uma verificação rápida aqui, o valor armazenado em /etc/shadow corresponde ao valor que usei ao executar o adduser.

    
por 11.11.2015 / 11:01