АннотацияВ данной статье рассмотрены настройки разграничения прав на базу данных (БД) в системе управления БД (СУБД) PostgreSQL, а именно:
|
Ограничение привилегий на схему БД для уже созданного пользователяПеред установкой Termidesk должна быть настроена среда функционирования, в частности - СУБД PostgreSQL. |
По умолчанию настройка выполняется таким образом, что создаваемый пользователь имеет все привилегии на БД, в том числе может передавать их другим учетным записям.
По умолчанию для Termidesk в СУБД PostgreSQL используется БД с именем |
Чтобы ограничить пользователя БД termidesk только одной его БД termidesk без возможности передачи прав на нее, нужно:
root, затем на postgres::~$ sudo -s :/home/astra# su postgres |
:/home/astra$ psql |
Если после выполнения команды отображается ошибка «could not change directory to "/home/": Отказано в доступе» и не появляется приглашение командной строки Символ «;» в конце строки в командах при работе в терминальном клиенте СУБД PostgreSQL обязателен. |
postgres=# REVOKE ALL ON termidesk FROM termidesk; |
termidesk):postgres=# \c termidesk; |
В текущей реализации последней версии Termidesk поддерживается только схема |
termidesk=# CREATE SCHEMA <имя_схемы>; |
Для назначения пользователю
|
Для назначения пользователю
|
Ограничение привилегий для еще не созданного пользователяЕсли СУБД PostgreSQL была установлена, но БД еще не была настроена, нужно: |
root, затем на postgres::~$ sudo -s :/home/astra# su postgres |
:/home/astra$ psql |
Если после выполнения команды отображается ошибка «could not change directory to "/home/": Отказано в доступе» и не появляется приглашение командной строки Символ «;» в конце строки в командах при работе в терминальном клиенте СУБД Postgres-11 обязателен. |
termidesk с шаблоном template0 (символ «;» в конце строки при работе с интерактивным интерфейсом обязателен):postgres=# CREATE DATABASE termidesk LC_COLLATE 'ru_RU.utf8' LC_CTYPE 'ru_RU.utf8' TEMPLATE template0; |
termidesk:postgres=# \c termidesk; |
В текущей реализации последней версии Termidesk поддерживается только схема |
termidesk=# CREATE SCHEMA <имя_схемы>; |
termidesk=# CREATE ROLE <имя_роли>; |
termidesk:termidesk=# GRANT CREATE, USAGE ON SCHEMA <имя_схемы> TO <имя_роли>; termidesk=# GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE ON ALL TABLES IN SCHEMA <имя_схемы> TO <имя_роли>; termidesk=# GRANT SELECT, UPDATE ON ALL SEQUENCES IN SCHEMA <имя_схемы> TO <имя_роли>; termidesk=# CREATE USER termidesk WITH PASSWORD 'ksedimret' IN ROLE <имя_роли>; |
где ksedimret - пароль, использующийся по умолчанию. Может быть изменен, однако это изменение необходимо затем учесть в файле /etc/rabbitmq/definitions.json, см. Установка и настройка RabbitMQ.