oracle用戶管理, 授權與回收權限


一. 用戶管理參數,

0.刪除用戶: drop user 用戶名 [cascade]

  當我們刪除用戶時, 如改用戶已創建過數據對象, 那么刪除用戶時必須加cascade參數, 用來同步刪除

  改用戶的所有信息. 如還想使用該用戶的數據, 則不可刪除用戶, 可以凍結該用戶即可.

1.創建用戶方法一:

  create user 用戶名 identified by 密碼 ;  # 創建用戶, 但缺少必要的東西, 完整命令看下面.

  創建的用戶沒有任何權限.ORA-01045: user QUZQ lacks CREATE SESSION privilege; logon denied

  需要dba給新建的用戶進行授權,如下: 基本語法: grant 權限/角色 to 用戶

  grand connect to 用戶名    # 授權可以鏈接數據庫

  grand resource to 用戶名   # 授權建表無空間大小的限制

  grand dba to 用戶名            # 設置用戶為dba

  grand create session to 用命名  # create session權限即登陸數據庫實列

  使用revoke命令可回收權限或角色,  語法: revoke  權限/角色  from  用戶

  角色就是權限的一個集合, 角色分為預先定義(即oracle定義的) 和 自定義的

2.創建用戶方法二:

   sql > create user 用戶名 identified by 密碼

    default tabspace users  # 指定新建用戶的表空間為users, users是oracle自帶的一個表空間

    temporary tablespace temp  # 指定臨時表空間為temp, temp空間也是oracle自帶的

    quota 3m on users;   # 用來限制改用戶創建的數據對象最大只能是3M

3.oracle中用戶的權限管理概念圖如下:

  

 

二. 用戶方案

  oracle會給每個用戶創建個方案(方案可理解為用戶的獨立存儲空間; 把oracle比喻成一個大房子, 那方案就相當於是大房子

  中隔出來的小房子, 每當添加個oracle用戶時, 就會在大房子里隔出個小屋), 當然前提是該用戶要創建數據對象, 不然是不會

  被分配方案的. 每個用戶的方案都是隔離的, 各個方案中的表名都可以相同; oracle給用戶創建的方案名同用戶名.

  1. 現有兩個用戶, user1和user2, 如何實現user1來訪問user2中的stu表呢? 正常情況這兩用戶是不能互相訪問的.

    首先使用user2登陸, 執行授權命令,如下:

    grant select [update | delete | insert | all ] on stu to user1   # 參數為all時, 表示增刪改查

    然后使用user1登陸, 執行相應命令, 語法如下:

    select * from user2.stu   # select * from 方案名.表明

  2. 有三個用戶, user1和user2和user3, 如何把user1的stu表權限給user2,並由user2再把user1的stu表權限給user3呢

    這里涉及兩個命令: with admin option  # 如果是支配系統權限, 則使用這個命令; 用於系統權限

            with grant option  # 得到權限的用戶, 可繼續分配權限, 即有支配所得權限的能力; 用於對象權限

    grant all on user1.stu to user2 with grant option    # 登陸user1前提下給user2支配stu表和crud該表的能力

    grant all on user1.stu to user3  # 登陸user2把user1的stu表增刪該查權限給user3, 但user3無再分配權限的能力

 

 

三. 用戶管理之限制登陸次數, 鎖定賬戶時長

  1. 創建profile限制集合, 用於配置限制的設置

    create profile 集合名 limit failed_login_attempts 3 password_lock_time 2;

    limit failed_login_attempts 3  # 限制登陸次數為3

    password_lock_time 2          # 3次失敗后賬戶鎖定2天

  2. 把創建好的限制集合分配給用戶user1

    alter user user1 profile 集合名;

  3. profile是口令限制.資源限制的命令集合, 當建立用戶沒有指定frofile選項, oracle將會產生個名為default的profile,

    並將該default分配給用戶.

 


免責聲明!

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



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