Re: Resetting priveleges on a table

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Resetting priveleges on a table
Дата
Msg-id 21997.1142363983@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Resetting priveleges on a table  (Bryan White <bryan@arcamax.com>)
Ответы Re: Resetting priveleges on a table  (Bryan White <bryan@arcamax.com>)
Список pgsql-general
Bryan White <bryan@arcamax.com> writes:
> ec=# \z bulkuploadcfg
>                              Access privileges for database "ec"
>   Schema |     Table     |                        Access privileges
> --------+---------------+------------------------------------------------------------------
>   public | bulkuploadcfg |
> {pconner=a*r*w*d*R*x*t*/pconner,=arwdRxt/pconner,=arwdRxt/bryan}
> (1 row)

Hm, this is 7.4.what exactly?  The above should be an illegal state
(assuming pconner is the table owner) because there is no grant option
to bryan allowing him to grant anything to public.

There was an old bug that would allow you to get into this state if
bryan was a superuser (the system would allow him to grant privileges
anyway), but according to the CVS logs we fixed that in 7.4RC1.  This
table wouldn't happen to be a holdover from a 7.4 beta version would it?

Another possibility is that you did an ALTER TABLE OWNER after assigning
some initial permissions.  7.4 had that command but it didn't do
anything about changing the ACL list to match.  I think you could have
gotten to the above state if pconner were the original table owner and
had done GRANT ALL TO PUBLIC, and then you altered table ownership to
bryan and he also did GRANT ALL TO PUBLIC.

Best solution might be to forcibly set the table's pg_class.relacl field
to null (resetting all the permissions to default) and then grant what
you want.

            regards, tom lane

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

Предыдущее
От: Michael Fuhr
Дата:
Сообщение: Re: Dynamic function execution?
Следующее
От: CSN
Дата:
Сообщение: What's a good default encoding?