Passer son compte linux en superuser postgres


Dans la config par défaut, les roles postgres matchent les utilisateurs système sous Linux. Au départ, le seul super utilisateur est “postgres”, et à chaque fois qu’on veut lancer psql pour faire de l’admin il faut se connecter avec ce user.

Pour se simplifier la vie en dev:

# on se log come "postgres"
sudo -i -u postgres # sous les debian likes. sinon "su" marche aussi
# on créé un utilisateur
createuser --interactive # et on dit "oui" quand il demande de créer un super user
# on créé une db à son nom
createdb ton_username

Et voilà, on peut utiliser psql depuis son compte.

5 thoughts on “Passer son compte linux en superuser postgres

  • foxmask

    ca peut etre (ca devrait etre?) un user pas “systeme” et on fera

    psql -U ce_user_dedie_a_ma_base ma_base

    sinon createuser -s foxmask pour me faire superman ;)

  • Fred

    Bonjour

    Désolé je ne valide pas. Ce serait comme revenir à dire “si vous voulez un second user avec les droits root, suffit de lui mettre le uid à 0 dans /etc/passwd” et ce serait totalement unsecure.

    Il y a un admin pour la machine, c’est root. De même, il y a un admin pour Postgres et c’est postgres. Et celui qui veut se connecter à une bdd Postgres il tape psql -U postgres et (selon la config pg_hba.conf) il entre le mot de passe ou pas (perso je mets à trust pour la socket locale, trust pour localhost et md5 pour les accès réseaux que je peux affincer avec le masque)

    Surtout qu’il y a pg_ident.conf qui peut-être paramétré aussi pour associer des noms systèmes à des users postgres (y compris postgres s’il le faut)..

    Désolé les gars, autant j’adore tout ce que vous écrivez, autant là ça reste très criticable.

    Mais ne vous inquiétez pas, cette faiblesse ne compte pas face à vos 4 milliards d’excellence et sera vite oubliée…

    PS (typo): # on se loggue (ou “on se connecte”) comme “postgres”..

  • foxmask

    @fred J’ai même iptables sur ma station alors je mets md5 partout , trust nobody ;) #parano mais serein

  • freeflyer

    Salut

    Je suis de l’avis de Fred je préconise :

    # sudo -u postgres psql

    ou au pire:

    # alias psql="sudo -u postgres psql"

    Avec ce qu’il faut dans le sudoers..

Comments are closed.

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.