Re: pg_basebackup ignores the existing data directory permissions

Поиск
Список
Период
Сортировка
От Magnus Hagander
Тема Re: pg_basebackup ignores the existing data directory permissions
Дата
Msg-id CABUevEzRkc4P6Eyccn7cQ9+oXjMv8nqVP6GCZqCJi0zLKaE2Jw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: pg_basebackup ignores the existing data directory permissions  (Stephen Frost <sfrost@snowman.net>)
Ответы Re: pg_basebackup ignores the existing data directory permissions
Re: pg_basebackup ignores the existing data directory permissions
Список pgsql-hackers
On Mon, Mar 18, 2019 at 7:08 AM Stephen Frost <sfrost@snowman.net> wrote:
Greetings,

* Robert Haas (robertmhaas@gmail.com) wrote:
> On Thu, Mar 14, 2019 at 7:34 PM Peter Eisentraut
> <peter.eisentraut@2ndquadrant.com> wrote:
> > I think the potential problems of getting this wrong are bigger than the
> > issue we are trying to fix.
>
> I think the question is: how do we know what the user intended?  If
> the user wants the directory to be accessible only to the owner, then
> we ought to set the permissions on the directory itself and of
> everything inside it to 0700 (or 0600).  If they want group access, we
> should set everything to 0750 (or 0644).  But how do we know what the
> user wants?
>
> Right now, we take the position that the user wants the individual
> files to have the same mode that they do on the master, but the
> directory should retain its existing permissions.  That appears to be
> pretty silly, because that might end up creating a bunch of files
> inside the directory that are marked as group-readable while the
> directory itself isn't; surely nobody wants that.  Adopting this patch
> would fix that inconsistency.
>
> However, it might be better to go the other way.  Maybe pg_basebackup
> should decide whether group permission is appropriate for the
> contained files and directories not by looking at the master, but by
> looking at the directory into which it's writing.  The basic objection
> to this patch seems to be that we should not assume that the user got
> the permissions on the existing directory wrong, and I think that
> objection is fair, but if we accept it, then we should ask why we're
> setting the permission of everything under that directory according to
> some other methodology.

Going based on the current setting of the directory seems defensible to
me, with the argument of "we trust you created the directory the way you
want the rest of the system to be".

Which I believe is also how a plain unix cp (or tar or whatever) would work, isn't it? I think that alone is a pretty strong reason to work the same as those -- they're not entirely unsimilar.


> Another option would be to provide a pg_basebackup option to allow the
> user to specify what they intended i.e.  --[no-]group-read.  (Tying it
> to -R doesn't sound like a good decision to me.)

I definitely think that we should add an option to allow the user to
tell us explicitly what they want here, even if we also go based on what
the created directory has (and in that case, we should make everything,
including the base directory, follow what the user asked for).

+1 for having an option to override whatever the default is.
 
--

В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Matsumura, Ryo"
Дата:
Сообщение: RE: SQL statement PREPARE does not work in ECPG
Следующее
От: Stephen Frost
Дата:
Сообщение: Re: Online verification of checksums