檢視PG資料庫的許可權情況
pg 的許可權 儲存在幾個地方.
1. 使用者許可權
對 例項的登入或者對db 的ddl 許可權方面 是放在 pg_role 表中的.
pconline=> select * from pg_roles ;
-[ RECORD 1 ]--+---------------------------------
rolname | repl
rolsuper | f
rolinherit | t
rolcreaterole | f
rolcreatedb | f
rolcatupdate | f
rolcanlogin | t
rolreplication | t
rolconnlimit | -1
rolpassword | ********
rolvaliduntil |
rolconfig |
oid | 16384
針對 TABLE , COLUMN , 函式, 自定義函式, 以及usage 許可權, 是存在information_schema下的表中的.
information_schema 儲存了當前db 下面的物件的許可權. 例如:
select * from information_schema.role_table_grants where grantee='lsliang';
-[ RECORD 2 ]--+-----------------------------------------
grantor | pc
grantee | lsliang
table_catalog | pc
table_schema | pc
table_name | temp_20160513
privilege_type | SELECT
is_grantable | NO
with_hierarchy | YES
2. 物件上的許可權
如果要檢視某個表上 有哪些許可權.
可以用命令列命令:
pconline=> \dp temp_20160513
Access privileges
-[ RECORD 1 ]------------+-----------------------------
Schema | pc
Name | temp_20160513
Type | table
Access privileges | pc=arwdDxt/pc
| pc_reader=r/pc
| pgreader_pc=r/pc
| u1=r/pc
| u2=r/pc
| user3=r/pc
Column access privileges |
其中的許可權欄位 arwdDxt
a = insert
r = select
w= update
d = delete
D = truncate
x = reference
t = trigger
還有一個是查詢PG_CLASS 系統檢視:
pconline=> select * from pg_class where relname='temp_20160513';
-[ RECORD 1 ]--+----------------------------------------------------------------------------------------------------------------------------------------------------
relname | temp_20160513
relnamespace | 24585
reltype | 5471707
reloftype | 0
relowner | 24577
relam | 0
relfilenode | 5491139
reltablespace | 0
relpages | 285
reltuples | 64310
relallvisible | 285
reltoastrelid | 0
reltoastidxid | 0
relhasindex | f
relisshared | f
relpersistence | p
relkind | r
relnatts | 1
relchecks | 0
relhasoids | f
relhaspkey | f
relhasrules | f
relhastriggers | f
relhassubclass | f
relfrozenxid | 1102384891
relacl | {pc=arwdDxt/pc,pc_reader=r/pc,pgreader_pc=r/pc,u1=r/pc,u2=r/pc,user3=r/pc}
1. 使用者許可權
對 例項的登入或者對db 的ddl 許可權方面 是放在 pg_role 表中的.
pconline=> select * from pg_roles ;
-[ RECORD 1 ]--+---------------------------------
rolname | repl
rolsuper | f
rolinherit | t
rolcreaterole | f
rolcreatedb | f
rolcatupdate | f
rolcanlogin | t
rolreplication | t
rolconnlimit | -1
rolpassword | ********
rolvaliduntil |
rolconfig |
oid | 16384
針對 TABLE , COLUMN , 函式, 自定義函式, 以及usage 許可權, 是存在information_schema下的表中的.
information_schema 儲存了當前db 下面的物件的許可權. 例如:
select * from information_schema.role_table_grants where grantee='lsliang';
-[ RECORD 2 ]--+-----------------------------------------
grantor | pc
grantee | lsliang
table_catalog | pc
table_schema | pc
table_name | temp_20160513
privilege_type | SELECT
is_grantable | NO
with_hierarchy | YES
2. 物件上的許可權
如果要檢視某個表上 有哪些許可權.
可以用命令列命令:
pconline=> \dp temp_20160513
Access privileges
-[ RECORD 1 ]------------+-----------------------------
Schema | pc
Name | temp_20160513
Type | table
Access privileges | pc=arwdDxt/pc
| pc_reader=r/pc
| pgreader_pc=r/pc
| u1=r/pc
| u2=r/pc
| user3=r/pc
Column access privileges |
其中的許可權欄位 arwdDxt
a = insert
r = select
w= update
d = delete
D = truncate
x = reference
t = trigger
還有一個是查詢PG_CLASS 系統檢視:
pconline=> select * from pg_class where relname='temp_20160513';
-[ RECORD 1 ]--+----------------------------------------------------------------------------------------------------------------------------------------------------
relname | temp_20160513
relnamespace | 24585
reltype | 5471707
reloftype | 0
relowner | 24577
relam | 0
relfilenode | 5491139
reltablespace | 0
relpages | 285
reltuples | 64310
relallvisible | 285
reltoastrelid | 0
reltoastidxid | 0
relhasindex | f
relisshared | f
relpersistence | p
relkind | r
relnatts | 1
relchecks | 0
relhasoids | f
relhaspkey | f
relhasrules | f
relhastriggers | f
relhassubclass | f
relfrozenxid | 1102384891
relacl | {pc=arwdDxt/pc,pc_reader=r/pc,pgreader_pc=r/pc,u1=r/pc,u2=r/pc,user3=r/pc}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-2134415/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle許可權(二)許可權相關的動態效能檢視與資料字典檢視Oracle
- Oracle資料庫scott使用者建立view檢視許可權Oracle資料庫View
- 查詢資料庫使用者角色和許可權檢視資料庫
- Oracle檢視許可權Oracle
- 資料庫的許可權管理資料庫
- pg許可權相關
- MySQL資料庫許可權體系入門(5)---管理資料庫許可權MySql資料庫
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- 使用shell指令碼檢視資料庫負載情況指令碼資料庫負載
- 檢視許可權的設定案例
- SQL Server資料庫檢視login所授予的具體許可權問題SQLServer資料庫
- oracle許可權相關檢視Oracle
- oracle的儲存許可權的檢視Oracle
- 檢視角色裡包含的系統許可權、物件許可權和角色物件
- 資料庫學習:許可權管理資料庫
- Mysql資料庫許可權問題MySql資料庫
- 資料許可權
- linux檢視檔案許可權Linux
- Oracle檢視使用者許可權Oracle
- 檢視oracle 使用者許可權Oracle
- ylbtech-許可權管理-資料庫設計-功能許可權管理技術資料庫
- MySQL資料庫許可權體系入門(4)---管理全域性許可權MySql資料庫
- 資料庫安全之許可權與角色資料庫
- 資料庫許可權-儲存過程資料庫儲存過程
- 透過閃回事務檢視資料dml的情況
- 通過閃回事務檢視資料dml的情況
- 提取使用者許可權或是不同資料庫使用者許可權的同步資料庫
- 如何檢視postgresql使用者許可權SQL
- 檢視SQLServer的LCK資源等待情況SQLServer
- MS SQL資料庫SA許可權入侵的感悟SQL資料庫
- Oracle資料庫的系統和物件許可權Oracle資料庫物件
- MySQL資料庫許可權體系入門(3)---管理使用者許可權MySql資料庫
- postgresql關於訪問檢視需要的許可權SQL
- 檢視Oracle使用者的許可權或角色Oracle
- mysql檢視使用者的許可權指令碼MySql指令碼
- 檢視使用者的目錄操作許可權
- Oracle角色、許可權的一些常用檢視Oracle
- MySQL資料庫Root許可權MOF方法提權研究MySql資料庫