Мені, мабуть, щось не вистачає щодо налаштування PostgreSQL. Що я хотів би зробити, це створити кілька баз даних та користувачів, ізольованих один від одного, щоб певний користувач мав доступ лише до вказаних мною баз даних. Однак, з того, що я можу визначити, будь-який створений користувач має доступ до всіх баз даних без конкретних дотацій.
Ось що я роблю на сервері Ubuntu 12.04:
- apt-get install postgresql
- sudo -u postgres createuser -DRSP mike1 (Вказання пароля для нового користувача)
- sudo -u postgres створенийb data1
- psql -h localhost -U mike1 data1 (Зазначення пароля користувача mike1 для входу)
Здається, що у нового користувача "mike1" немає проблем з підключенням до бази даних "data1" та створенням таблиць тощо. І це без запуску жодної команди GRANT (а власник "data1" - "postgres", оскільки я не вказав власник на кроці 3). Чи справді це має працювати?
Що я хотів би зробити, це надати mike1 повний доступ до data1, а потім повторити це для більшої кількості користувачів та баз даних, переконуючись, що користувачі мають доступ лише до однієї (або, можливо, декількох) моїх баз даних.