adduser n'admet pas d'argument '-p' ... useradd si.
N'importe comment, il s'attend à ce qu'on lui donne déjà crypté, d'après le man : -p mot_de_passe
Le mot de passe chiffré, comme renvoyé par crypt(3). Le com-
portement par défaut est de désactiver le compte.
Pour avoir un mot de passe DES (le format "classique") : my $pass_des = crypt($mot, salt(2));
Pour avoir un mot de passe MD5 (c'est plutôt ce format qui est utilisé sous linux actuellement) : my $pass_md5 = crypt($mot, '1ドル$' . salt(8) . '$');
où sub salt {
my @space = unpack 'C*', "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789./";
my $result = '';
for (my ($n) = @_; $n > 0; --$n) {
$result .= chr($space[random(scalar @space)]);
}
return $result;
}
« Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone
[^] # La solution, c'est d'utiliser la fonction crypt
Posté par Arthur Accroc . En réponse au message creation d'un utilisateur avec un simple programme perl. Évalué à 1.
N'importe comment, il s'attend à ce qu'on lui donne déjà crypté, d'après le man :
-p mot_de_passe
Le mot de passe chiffré, comme renvoyé par crypt(3). Le com-
portement par défaut est de désactiver le compte.
Pour avoir un mot de passe DES (le format "classique") :
my $pass_des = crypt($mot, salt(2));
Pour avoir un mot de passe MD5 (c'est plutôt ce format qui est utilisé sous linux actuellement) :
my $pass_md5 = crypt($mot, '1ドル$' . salt(8) . '$');
où
sub salt {
my @space = unpack 'C*', "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789./";
my $result = '';
for (my ($n) = @_; $n > 0; --$n) {
$result .= chr($space[random(scalar @space)]);
}
return $result;
}
« Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone