1. 程式人生 > 實用技巧 >等保測評--postgresql修改預設超級使用者,建立普通使用者使用

等保測評--postgresql修改預設超級使用者,建立普通使用者使用

1、postgresql許可權說明

  • SELECT
  • INSERT
  • UPDATE
  • DELETE
  • TRUNCATE
  • REFERENCES
  • TRIGGER
  • CREATE
  • CONNECT
  • TEMPORARY
  • EXECUTE
  • USAGE
GRANT privilege [, ...]
ON object [, ...]
TO { PUBLIC | GROUP group | username }
  • privilege − 值可以為:SELECT,INSERT,UPDATE,DELETE, RULE,ALL。
  • object − 要授予訪問許可權的物件名稱。可能的物件有: table, view,sequence。
  • PUBLIC − 表示所有使用者。
  • GROUP group − 為使用者組授予許可權。
  • username − 要授予許可權的使用者名稱。PUBLIC 是代表所有使用者的簡短形式。

另外,我們可以使用 REVOKE 命令取消許可權,REVOKE 語法:

REVOKE privilege [, ...]
ON object [, ...]
FROM { PUBLIC | GROUP groupname | username }

2、建立普通使用者,並賦予許可權

建立普通使用者,並制定密碼
CREATE USER fujian_fore WITH PASSWORD 'fujian_fore@123456';


賦予所有表的操作許可權
grant SELECT,INSERT,UPDATE,DELETE on all tables in schema public to fujian_fore;


賦予所有序列的操作許可權
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO fujian_fore;

3、修改預設超級使用者postgres

注意:用其他超級使用者執行postgres重新命名操作

(1)建立一個其他超級使用者postgres1
CREATE USER postgres1 WITH
LOGIN
SUPERUSER
INHERIT
CREATEDB

CREATEROLE
REPLICATION;
ALTER USER postgres1 WITH PASSWORD 'postgres1@123456';

(2)用postgres1登陸,修改postgres名稱
ALTER USER postgres RENAME TO admins
ALTER USER admins WITH PASSWORD 'admins@123456$DB';

(3)弄完後,把postgres1使用者刪掉

4、查詢使用者的許可權

select * from information_schema.table_privileges where grantee='test';