Giter Site home page Giter Site logo

Comments (5)

alexeyklyukin avatar alexeyklyukin commented on August 28, 2024

It works because patroni sets the environment variable PGPASSFILE to point to the new pgpass file. It would be a a poor decision to overwrite user's .pgpass with our credentials.

from patroni.

jberkus avatar jberkus commented on August 28, 2024

OK, that works for the name, but the problem is that pgpass gets dropped in the CWD from which patroni was called, regardless of where that is. This causes some issues:

  1. If patroni is called from inside the data directory, that will cause pg_basebackup to fail, because "directory is not empty"
  2. if patroni is called from an insecure directory (like /tmp/) then an attacker can subvert the file permissions and capture the passwords.

... so I think it would be a better idea to drop the file in a specific directory, or at least provide that as a config option. No?

from patroni.

alexeyklyukin avatar alexeyklyukin commented on August 28, 2024

Yeah, those seem to be good corner cases we haven't covered yet. Would it be better to just write the file to the home directory of the user that launched patroni? After all, it has the same privacy expectations as .pgpass.

from patroni.

jberkus avatar jberkus commented on August 28, 2024

Yeah, that would work, provided that we can know the homedir. We should have some kind of fallback if it's undefined. Also, a config variable for password_directory, I think

from patroni.

feikesteenbergen avatar feikesteenbergen commented on August 28, 2024

pgpass is now configurable under postgresql

from patroni.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.