На работающем сервере все пользователи делятся как минимум на две группы: администраторы и конечные пользователи. Причем администраторы могут делать все, а конечные пользователи могут совсем немного: как правило, изменять данные в нескольких таблицах и читать еще несколько таблиц. Не очень разумно давать простым пользователям право создавать или изменять определения объектов БД, а значит, они не должны иметь права create для всех схем, включая public. Для конечных пользователей существуют и другие роли. Аналитики, например, могут только делать выборку данных из одной таблицы или представления или выполнять несколько функций. А менеджер уполномочен только давать или отнимать права, но больше ничего делать не должен. Материал данного раздела дает ответ на вопрос «Как запретить пользователю X доступ к таблице Y?». Текущий пользователь должен быть суперпользователем, владельцем таблицы или иметь доступ grant для этой таблицы. Вы можете отнять права и у пользователя, который является суперпользователем. Чтобы отнять все права на таблицу mysecrettabie у пользователя userwhoshouldnotseeit, необходимо выполнить следующую SQL — команду: REVOKE ALL ON mysecrettabie FROM userwhoshcudnotseeit; Однако таблица все еще остается открытой для пользователей через роль public, поэтому следует также записать: REVOKE ALL ON mysecrettabie FROM PUBLIC; Чтобы увидеть, на какую таблицу будет оказано влияние, е опустите имя схемы, запустите в psqi:
В результате будет получено полное имя таблицы public. х, включая схему.
Рубрика: Женский интерес