数据库其它

关注公众号 jb51net

关闭
首页 > 数据库 > 数据库其它 > kingbase修改权限

kingbase修改权限实现方式

作者:wz25006

该文章详细介绍了如何在数据库中创建用户并赋予其相应的权限,包括创建用户、回收默认权限、创建数据库、赋权数据库权限、创建只读用户以及回收权限等步骤

前言

创建用户后对数据库对象的读写权限进行修改

使用步骤

1、创建用户

create user cspassword ‘123123';

2、回收DEFAULT PRIVILEGES权限

–all TABLES
ALTER DEFAULT PRIVILEGES for user csREVOKE ALL ON TABLES FROM PUBLIC;

4、创建数据库

CREATE DATABASE wan ENCODING ‘UTF8' TEMPLATE template0;

5、回收其它库的连接权限

select datname from sys_database;
select ‘REVOKE ALL on DATABASE ' || datname || ' FROM PUBLIC;' from sys_database where datname not in(‘test',‘template0',‘template1');
select ‘REVOKE ALL on DATABASE ' || datname || ' FROM cs;' from sys_database where datname not in(‘test',‘template0',‘template1');

6、赋权数据库权限

GRANT ALL ON DATABASE wan TO cs;

7、赋权增,删,改,查

GRANT SELECT,UPDATE,INSERT,DELETE,TRUNCATE,REFERENCES,TRIGGER ON ALL TABLES in SCHEMA public to cs;

8、对新建表拥有权限

ALTER DEFAULT PRIVILEGES IN SCHEMA sch_kcm grant SELECT,INSERT,UPDATE,DELETE,TRUNCATE,REFERENCES,TRIGGER
on tables to cs;

创建只读用户:

CREATE USER readonly WITH ENCRYPTED PASSWORD ‘readonly';

设置默认事务只读:

alter user readonly set default_transaction_read_only=on;

赋予用户连接数据库mytest的权限:

GRANT CONNECT ON DATABASE mytest to readonly;

切换到指定库mytest:

\c mytest system

赋予用户表、序列查看权限,进入指定db运行:

把当前库现有的所有在public这个schema下的表的使用权限赋给用户readonly

GRANT USAGE ON SCHEMA public to readonly;

默认把当前库之后新建在public这个schema下的表的使用权限赋给readonly

ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly;

赋予用户readonly所有public下的序列的查看权

GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO readonly;

赋予用户readonly所有public下的表的select权

GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;

将刚才赋予的权限一一回收

回收schema的usage权限

revoke USAGE ON SCHEMA public from readonly;

回收public下所有表的查询权限:

revoke SELECT ON ALL TABLES IN SCHEMA public from readonly;

回收public下所有序列的查询权限

revoke SELECT ON ALL SEQUENCES IN SCHEMA public from readonly;

回收默认权限

ALTER DEFAULT PRIVILEGES IN SCHEMA public revoke SELECT ON TABLES from readonly;

关闭数据库连接权限

revoke CONNECT ON DATABASE foo from readonly;

关闭默认只读事务设置

alter user readonly set default_transaction_read_only=off;

查看权限是否为空了

\ddp

通过管理员删除readonly用户:

drop user readonly;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文