Я отвечаю за базу данных PostgreSQL для университетского курса с 23 пользователями и 23 базами данных. Каждый пользователь должен иметь доступ только к одной базе данных, и если они пытаются подключиться к другому, они должны получить отказ в доступе. У меня уже был рабочий набор, но нам пришлось отформатировать сервер. Теперь я пытаюсь сделать то же самое, но каждый пользователь имеет доступ к базам данных друг друга. Я уже пробовал:Отмена доступа к базе данных не работает
REVOKE connect ON DATABASE group1 FROM PUBLIC;
REVOKE ALL PRIVILEGES ON DATABASE group1 FROM PUBLIC;
REVOKE ALL PRIVILEGES ON DATABASE group1 FROM group3;
И еще я могу подключиться к базе данных group1 любым способом:
psql -d group1
или
\c group1
Как я могу остановить это происходит?
Редактировать: Я использую PostgreSQL 9.3.9. Что я делаю, это войти в систему с правами администратора, а затем изменить пользователя по группе 3:
sudo su -
su group3
psql
Enter password:
\c group1
You are now connected to database "group1" as user "group3".
Кто такие "вы"? Если вы подключаетесь как суперпользователь, у вас всегда есть доступ. (И * всегда * упомянуть вашу версию Postgres.) –
Показать '\ l + group1' и' \ du + group3' вывод –