程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> [Oracle]用戶創建以及權限管理

[Oracle]用戶創建以及權限管理

編輯:Oracle教程

[Oracle]用戶創建以及權限管理


#創建用戶需要管理員權限 
    SQL> create user lzz identified by lzz123;//這樣創建了一個普通用戶,但是還沒有解鎖 
#給用戶修改密碼 
    #給自己的話: 
        SQL> password 
        更改 SCOTT 的口令 
        舊口令: **** 
        新口令:**** 
        重新鍵入新口令:**** 
        口令已更改 
    #給用戶的話: 
        SQL> alter user lzz identified by lzz; 
#刪除用戶(擁有DBA)權限,或者擁有drop user的權限,不可以自己刪除自己 
#如果要刪除的用戶已經創建了表,那麼就需要在刪除時帶一個參數cascade 
  SQL> drop user lzz 
    用戶已刪除。 

#擁有給其他用戶賦予權限的用戶有sys、system,權限的種類很多,有100多種 
#角色:角色是一組權限的集合,將角色賦給一個用戶,這個用戶就擁有了這個角色中的所有權限。 
    自定義角色:用戶根據需要自己定義權限給角色 
    預定義角色:系統預先定義好的(connec,dba,resource) 
        語句是:grant connect to lzz;  
#數據對象:表和視圖,其他還有約束、序列、函數、存儲過程等等 
#Oracle的權限有2種 
    系統權限:指的是用戶對數據庫的相關權限 
    對象權限:用戶對其他用戶的數據對象的操作權限(select,insert,update,delete,all) 
    命令:grant select on emp to lzz; 
#收回權限的語法 
  例如:revoke select on emp from lzz;  
#對權限的維護工作 
    權限的傳遞:   
        --如果是對象權限就加入with grant option 
        例如:grant select on emp to lzz with grant option; 
        --如果是系統權限就加入with admin option 
        例如:grant connect to xiaoming with admin option; 
#使用profile管理用戶口令 
    profile是口令限制,資源限制的命令集合 
    (1)賬戶鎖定:指定用戶登錄時最多可以輸入密碼的次數,也可以指定鎖定 
                的時間,一般由dba用戶執行該命令; 
            案例:創建profile文件 
                    SQL> create profile aa limit  
                     2  failed_login_attempts 3 password_lock_time 2; 
                    配置文件已創建。 
                    SQL> alter user qinke profile aa; 
                    用戶已更改。 
         #三次錯誤之後再寫正確的密碼 
            SQL> conn qinke/qinke; 
                    ERROR: 
                    ORA-28000: the account is locked 
  (2)給賬戶解鎖: 
                  SQL> alter user qinke account unlock; 
                    用戶已更改。 
  (3)終止口令:為了讓用戶定期修改密碼可以使用終止口令來完成 
        案例:每個10天修改,寬限為2天(單位均以天計算) 
            SQL> create profile aaa limit password_life_time 10 password_grace_time 2; 
                配置文件已創建              
                SQL> alter user qinke profile aaa;           
                用戶已更改。 
    #刪除profile   
        drop profile password_his [cascade];

這是幾個小操作:

1 創建一個對象lzz,並使其可以登錄(系統權限)

\

 

\

給此用戶添加一個可以預定義的角色

成功。

2 lzz這個用戶可以創建表

\

3 lzz這個用戶可以查詢scott的emp表(對象權限)

\

4 scott用戶回收lzz查詢scott的emp表的查詢權限

\

5 lzz獲得scott的emp表的查詢權限並且傳遞給qinke\

?當scott把emp表的查詢權限回收了,那麼qinke會怎麼樣
答案是qinke也無法再查詢到emp表的信息了(株連)

\

 

\

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved