Page 1 of 1

PostgresSQL не правильные права для пользователя?

Posted: Mon Mar 09, 2015 8:13 pm
by tatu
Доброго времени суток, на чистый сервер Ubuntu 14.04 x64 установил VestaCP и к ней по документации загрузил PostgresSQL, но при создании баз данных, каждый пользователь имеет возможность чтения и записи данных в чужие базы данных.
Image

Re: PostgresSQL не правильные права для пользователя?

Posted: Thu Apr 09, 2015 8:11 am
by gloobus
Или вы что-то путаете, или не так описали ситуацию!

В каждой базе есть схема public -> http://postgresql.ru.net/manual/ddl-schemas.html (5.7.4.)
Она на то и public, что в ней любой пользователь может работать! По вашему скриншоту не понятно, где и куда у пользователей есть доступы? Да, любой пользователь видит все базы. Да, любой пользователь видит все схемы в базах и таблицы. Но, в зависимости от прав, он не сможет посмотреть данные в таблице, к которой у него нет прав.

Я с данной базой только знакомлюсь, но по оракловому опыту могу сказать, что PostgresSQL это не MySQL - не нужно здесь создавать кучу баз! Создайте одну базу, у базы будет владелец.
Далее пользуйтесь схемами! Создайте пользователя с минимум привилегий и под него создавайте схемы.

Code: Select all

CREATE SCHEMA vasya AUTHORIZATION vasya
Вот фишка, почему пользователь "vasya", созданный без каких либо привилегий (только на логин), видит все схемы (ну это ладно, в оракле пользователь тоже видит все схемы), но так же видит таблицы чужие в ней и атрибуты - я не знаю :) Возможно специфика, возможно что-то нужно капать.