CREATE DATABASE

Поиск
Список
Период
Сортировка
От Thomas G. Lockhart
Тема CREATE DATABASE
Дата
Msg-id 355C4674.7FEC25EB@alumni.caltech.edu
обсуждение исходный текст
Ответы Re: CREATE DATABASE  ("Oliver Elphick" <olly@lfix.co.uk>)
Список pgsql-hackers
Was looking through the new docs and noticed that the example for
creating a database in an alternate location has trouble:

   $ mkdir private_db
   $ initlocation ~/private_db
   Creating Postgres database system directory
/home/olly/private_db/base

   $ chmod a+rx private_db
   $ chmod a+rwx private_db/base
   $ psql
   ...

The chmod's are a Bad Idea (tm) since it blows the security assumptions
for Postgres. The protections are explicitly set by initlocation to lock
down these directories.

I guess that the alternate location setup (initlocation) was really
meant as a tool for the Postgres administrator, not for individual
users. If users create alternate locations, and then for example create
a database and then delete the directories from the file system rather
than through Postgres things will become ugly. The assumption is that
the administrator is likely to be more careful since she is likely to be
more aware of the issues.

I have (or had) some #ifdef code which _requires_ that environment
variables be used to specify alternate locations, rather than allowing
absolute paths also. This helps ensure that locations are used which
have been set up by the Postgres administrator, since the admin must
have defined the environment variables for the backend before it starts
up.

I'm not sure how to write an example which had initlocation being run by
someone other than the Postgres superuser while still being clear on
these security/integrity issues. What would you suggest?

                          - Tom

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

Предыдущее
От: "Thomas G. Lockhart"
Дата:
Сообщение: Re: [PATCHES] char/varchar locale support
Следующее
От: Oleg Broytmann
Дата:
Сообщение: Re: [HACKERS] Re: [PATCHES] char/varchar locale support