La création de l'utilisateur avec mot de passe crypté dans PostgreSQL
Est-il possible de créer un utilisateur PostgreSQL sans fournir le mot de passe en texte brut (idéalement, je voudrais être en mesure de créer un utilisateur de ne fournir que de son mot de passe crypté avec l'algorithme sha-256) ?
Ce que je voudrais faire est de créer un utilisateur avec quelque chose comme ça :
CREATE USER "martin" WITH PASSWORD '$6$kH3l2bj8iT$KKrTAKDF4OoE7w.oy(...)BPwcTBN/V42hqE.';
Est-il un moyen de le faire ?
Merci pour votre aide.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez fournir le mot de passe déjà hachée avec
md5
, comme dit dans la doc (CRÉER UN RÔLE):L'information qui manque ici, c'est que le MD5-chaîne cryptée devrait être le mot de passe concatened avec le nom d'utilisateur, plus
md5
au début.Ainsi, par exemple, pour créer
u0
avec le mot de passefoobar
, sachant quemd5('foobaru0')
estac4bbe016b808c3c0b816981f240dcae
:et puis u0 sera en mesure de se connecter en tapant
foobar
que le mot de passe.Je ne pense pas qu'il y a actuellement un moyen d'utiliser
SHA-256
au lieu demd5
pour PostgreSQL mots de passe.echo "foobaru0" | md5sum | cut -d' ' -f1
et je reçois un autre. Puis essayer avecCREATE USER u0 PASSWORD 'md5c49aa8b010dbdeec293c5a9504fb5531';
crée de l'utilisateur, mais lorsque j'essaie de me connecter avec le mot de passe foobar il ne l'accepte pas. Ditpsql: FATAL: password authentication failed for user "u0"
echo -n
pour supprimer le caractère de saut de ligne, sinon il se haché trop. J'ai utiliséselect md5(...)
en SQL.U=u0; P=foobar; echo -n md5; echo -n $P$U | md5sum | cut -d' ' -f1
Je ne suis pas au courant d'un moyen de remplacer la valeur par défaut de chiffrement md5 du mot de passe, mais si vous avez un RÔLE (aka "UTILISATEUR") qui a déjà md5 du mot de passe crypté, il semble que vous pouvez fournir cela. Vérifier à l'aide de pg_dumpall -g (pour voir le reste de la grappe)
Par exemple.
Docs pour CRÉER UN RÔLE
Moyen beaucoup plus facile à présent est:
CREATE USER u0 PASSWORD 'foobar';
Donne passwd:
md5ac4bbe016b808c3c0b816981f240dcae