達夢數據庫學習(五、用戶管理)


達夢數據庫學習(五、用戶管理)

 

上期回顧:

達夢數據庫學習(一、linux操作系統安裝及數據庫安裝)

達夢數據庫學習(二、管理數據庫實例) 

達夢數據庫學習(三、體系結構) 

達夢數據庫學習(四、表空間管理) 

 

 

用戶管理是安全管理的一部分

達夢數據庫的多權分立(實際上可以參考美國三權分立,不用深究

SQL>select username from dba_users;

SYSDBA                       數據庫管理員

SYS                             內置管理員,不能登錄數據庫

SYSSSO                       數據庫安全員(安全版使用)

SYSAUDITOR               數據庫審計員

 

 

達夢數據庫的版本:開發版(默認為1年free期限),標准版(不支持集群),企業版(可配置集群),安全版(配置安全策略)

每個用戶去完成各自的任務。(多權分立)

 

一、規划用戶

              命名:

                     字母開頭,可以包含字母和數字以及這三個特殊符號#$_

                     不能超過128個字符

              存儲位置:

                     規划用戶的表空間--default tablespace XX

              密碼策略

                     密碼的有效期 --password_life_time

                     密碼嘗試登錄次數--failed_login_attemps

                     密碼歷史--

                     密碼寬限期

              資源管理

                     會話的空閑時間

                     私有內存

                     磁盤空間

              權限管理

                     系統權限(可以對數據庫做什么)

                     對象權限(能夠對數據庫對象做什么)

      

案例1:創建一個用戶user1,密碼的有效期180天,嘗試登錄次數2次。每次鎖定1分鍾,存儲到tbs4表空間中,用戶可以創建表,可以查詢dmhr.city表。

SQL>create user user1 identified by 1234567890 limit password_life_time 180,FAILED_LOGIN_ATTEMPS 2,password_lock_time 1 default tablespace tbs4;

 

注意:

系統默認口令策略:0:無策略;1:禁止與用戶名相同;2:口令長度不小於0;4:至少包含一個大寫字母(A-Z);8:至少包含一個數字(0-9);16:至少包含一個標點符號(英文輸入法狀態下,除“和空格外的所有符號)若為其他數字,則表示配置值的和,如3=1+2,表示同時啟用第1項和第2項策略。注意當COMPATIBLE_MODE=1時,實際PWD_POLICY的實際值為0

SQL>select para_name,para_value from v$dm_ini where para_name=’PWD_POLICY’;

 

 

兼容模式:

是否兼容其他數據庫模式。0:不兼容,1:兼容SQL92標准;2:部分兼容ORACLE數據庫;3:部分兼容MS SQL SERVER,4:部分兼容MYSQL,5:兼容MD6,6:部分兼容TERADATA

修改:

sp_set_para_value(2,’COMPATIBLE_MODE’,’2’);

 

 

SQL>select username,account_status from dba_users;

OPEN 表示打開狀態.LOCKED表示鎖定狀態

SQL>alter user user1 account lock;--鎖定用戶

SQL>alter user user1 account unlock;--解鎖用戶

查看當前的用戶:

SQL>select user;

查看用戶默認的角色:

SQL>select grantee,granted_role from dba_role_privs where grantee=’user1’;

查看角色的權限:

SQL>select grantee,granted_role from dba_sys_privs where grantee in (‘PUBLIC’,’SOI’);

授權系統權限:

SQL>grant create table to user1;

授權對象權限:

SQL>grant select on dmhr.city to user1;

注意:

系統權限和對象權限不能寫在同一條語句中。

 

       案例2:創建用戶user2,存儲位置tbs4,空閑會話為2分鍾,私有內存為200M,可以創建視圖,可以更新dmhr.city(注意可以更新一個表意味着必須首先可以查看這個表)

SQL>create user user2 identified by 1234567890 limit CONNECT_IDLE_TIME 2,mem_space 200 default tablespace tbs4;

授權可創建視圖

SQL>grant create view to user2;

授權查看dmhr.city表(然后才能授權更新這個表)

SQL>grant select on dmhr.city to user2;

授權更新dmhr.ciyt表

SQL>grant update on dmhr.city to user2;

 

撤銷權限:

數據庫對象權限:

SQL>revoke select on dmhr.city from user1;

數據庫系統權限:

SQL>revoke create table from user1;

 

 

二、角色管理

       角色是一類權限的集合,方便管理。

       角色主要類型:DBA、PUBLIC、RESOURCE

     不建議把DBA角色給普通用戶,權限過大(但是實際生產往往都這樣搞……

       PUBLIC角色是創建用戶時默認分配的。

       一般情況下,把RESOURCE角色分配給用戶,基本可以滿足系統權限的需求。

       自定角色:

       SQL>create role R1;

       把權限分給角色:

       SQL>grant select on dmhr.city to R1;

       把角色分配給用戶:

       SQL>grant R1 to user1;

 

       刪除角色和用戶

       刪除角色:

SQL>drop role R1;

       刪除用戶:

SQL>drop user user1;

注意因為用戶中存在表,因此會報錯提示“[-2639]:試圖刪除被依賴對象”      

SQL>drop user user1 cascade;--進行級聯刪除

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM