kingbase修改權(quán)限實現(xiàn)方式
前言
創(chuàng)建用戶后對數(shù)據(jù)庫對象的讀寫權(quán)限進(jìn)行修改
使用步驟
1、創(chuàng)建用戶
create user cspassword ‘123123';
2、回收DEFAULT PRIVILEGES權(quán)限
–all TABLES ALTER DEFAULT PRIVILEGES for user csREVOKE ALL ON TABLES FROM PUBLIC;
4、創(chuàng)建數(shù)據(jù)庫
CREATE DATABASE wan ENCODING ‘UTF8' TEMPLATE template0;
5、回收其它庫的連接權(quán)限
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、賦權(quán)數(shù)據(jù)庫權(quán)限
GRANT ALL ON DATABASE wan TO cs;
7、賦權(quán)增,刪,改,查
GRANT SELECT,UPDATE,INSERT,DELETE,TRUNCATE,REFERENCES,TRIGGER ON ALL TABLES in SCHEMA public to cs;
8、對新建表擁有權(quán)限
ALTER DEFAULT PRIVILEGES IN SCHEMA sch_kcm grant SELECT,INSERT,UPDATE,DELETE,TRUNCATE,REFERENCES,TRIGGER on tables to cs;
創(chuàng)建只讀用戶:
CREATE USER readonly WITH ENCRYPTED PASSWORD ‘readonly';
設(shè)置默認(rèn)事務(wù)只讀:
alter user readonly set default_transaction_read_only=on;
賦予用戶連接數(shù)據(jù)庫mytest的權(quán)限:
GRANT CONNECT ON DATABASE mytest to readonly;
切換到指定庫mytest:
\c mytest system
賦予用戶表、序列查看權(quán)限,進(jìn)入指定db運行:
把當(dāng)前庫現(xiàn)有的所有在public這個schema下的表的使用權(quán)限賦給用戶readonly
GRANT USAGE ON SCHEMA public to readonly;
默認(rèn)把當(dāng)前庫之后新建在public這個schema下的表的使用權(quán)限賦給readonly
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly;
賦予用戶readonly所有public下的序列的查看權(quán)
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO readonly;
賦予用戶readonly所有public下的表的select權(quán)
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;
將剛才賦予的權(quán)限一一回收
回收schema的usage權(quán)限
revoke USAGE ON SCHEMA public from readonly;
回收public下所有表的查詢權(quán)限:
revoke SELECT ON ALL TABLES IN SCHEMA public from readonly;
回收public下所有序列的查詢權(quán)限
revoke SELECT ON ALL SEQUENCES IN SCHEMA public from readonly;
回收默認(rèn)權(quán)限
ALTER DEFAULT PRIVILEGES IN SCHEMA public revoke SELECT ON TABLES from readonly;
關(guān)閉數(shù)據(jù)庫連接權(quán)限
revoke CONNECT ON DATABASE foo from readonly;
關(guān)閉默認(rèn)只讀事務(wù)設(shè)置
alter user readonly set default_transaction_read_only=off;
查看權(quán)限是否為空了
\ddp
通過管理員刪除readonly用戶:
drop user readonly;
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Windows環(huán)境下安裝達(dá)夢數(shù)據(jù)庫的完整步驟
達(dá)夢數(shù)據(jù)庫的安裝大致分為Windows和Linux版本,本文將以dm8 企業(yè)版 Windows_64位 環(huán)境為例,為大家介紹一下達(dá)夢數(shù)據(jù)庫的具體安裝步驟吧2025-03-03
SQL中NTEXT字段內(nèi)容顯示<long text>的原因
SQL中NTEXT字段內(nèi)容顯示<long text>的原因...2007-03-03
在PostgreSQL的基礎(chǔ)上創(chuàng)建一個MongoDB的副本的教程
這篇文章主要介紹了在PostgreSQL的基礎(chǔ)上創(chuàng)建一個MongoDB的副本的教程,使在使用NoSQL的同時又能用到PostgreSQL中的東西,需要的朋友可以參考下2015-04-04
Doris報錯:failed?to?send?brpc?when?exchange的解決過程
Doris中出現(xiàn)"failedtosendbrpcwhenexchange"錯誤通常是由于BRPC通信異常導(dǎo)致的,可能的原因包括網(wǎng)絡(luò)問題、BRPC配置不合理、節(jié)點負(fù)載過高、數(shù)據(jù)傾斜、節(jié)點狀態(tài)異常和版本兼容性問題,通過排查網(wǎng)絡(luò)、調(diào)整BRPC參數(shù)、優(yōu)化SQL和表結(jié)構(gòu)等方法可以解決該問題2025-11-11
Access數(shù)據(jù)庫升級為SQL數(shù)據(jù)庫的注意事項和方法
Access數(shù)據(jù)庫升級為SQL數(shù)據(jù)庫的注意事項和方法...2007-02-02

