Não é necessário usar um script bash, apenas use a próxima função que estou usando para algumas outras coisas para gerar a senha criptografada shadow:
def shadow(self,password):
SomeZolt="$6$"+''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(9))+"$"
return crypt.crypt(password, SomeZolt)
Depois disso, escreva uma funcionalidade adicional ao seu script python, que abrirá o arquivo / etc / shadow e escreverá a senha criptografada que você obteve usando esta função para este usuário, assim fazendo uma linha como:
some_user:!!:15579:0:99999:7:::
assemelhar-se a:
some_user:$1$JShdquwdjsd38hSJhdqwdkwd:15579:0:99999:7:::
Assim, some_user terá a senha atribuída.
Além disso, você pode definir o usuário diretamente na declaração de fantoches, alterando-o para:
user { $username:
comment => "$email",
home => "/home/$username",
shell => "/bin/bash",
uid => $uid,
gid => $gid,
password => "SomeAlreadyEncryptedPassword",
}
Você pode usar a maneira especificada da função para obter a senha criptografada e, em seguida, inseri-la na declaração.