oracle-6-密碼檔案

來源:互聯網
上載者:User

標籤:

密碼檔案屬於database的一部分

密碼檔案的作用:DBA使用者的身份認證

 

當具有sysdba和sysoper的許可權的時候就是dba 使用者

預設情況下

sysdba就是sys,他的許可權最大

sysoper就是system

 

登入Oracle資料庫可以有兩種身分識別驗證的方法

(1)使用作業系統整合的身分識別驗證

(2)使用Oracle資料庫的密碼檔案進行身分識別驗證

 

他們連個的應用情境

if 本地登入

  (1)使用作業系統認證

  (2)密碼檔案認證

 

[[email protected] dpdump]# id oracle
uid=1101(oracle) gid=1000(oinstall) 組=1000(oinstall),1300(dba),1301(oper)

我們看到oracle 使用者是屬於dba這個組的,所以具備dba這個組的許可權的,預設情況下他具備了作業系統的許可權,可以不適用密碼就可以登入了(使用作業系統裡的使用者名稱和密碼,然後就可以進去了)

sqlplus / as sysdba

SQL> 這種情況下我們就是用sys使用者登陸進來的
SQL> show user
USER is "SYS"

 

什麼是密碼檔案認證

 密碼檔案目錄$ORACLE_HOME/dbs

密碼檔案是$ORACLE_HOME/dbs/orapw<SID>

下面的 orapwesbtest就是esbtest這個執行個體的密碼檔案

比如說我現在給這個密碼檔案刪除了,我們來看看

[[email protected] dbs]$ sqlplus sys/[email protected] as sysdba

如果密碼檔案被刪除了,則建立一個密碼檔案

比如這裡的 orapwesbtest 密碼檔案丟失了,我們用下面的這個方法產生密碼檔案

orapwd file= orapwesbtest password=yizhenuplooking  entries=1

 

決定是密碼檔案認證還是OS認證,由兩個參數決定

參數(1)

remote/login/passwordfile=none|exclusive|shared

none 不適用密碼問津啊認證

execlusive 要密碼檔案認證,自己獨佔使用(這個是預設的)

shared  要密碼檔案認證,不同的執行個體dba使用者可以共用檔案

要是有密碼檔案認證,則sys使用者就不能遠程登入了

 

參數(2)

$ORACLE_HOME/network/admin/sqlnet.ora  

檔案裡面添加下面這一行

SQLNET.AUTHENTCICATION_SERVICES=none|all|nts

none   代表關閉作業系統認證,只能密碼認證

all   用於linux/unix平台,關閉本機密碼檔案認證,採用作業系統認證,但是遠程(不是自己的機器)可以使用密碼檔案認證,但是本機是不可以登陸的

nts  是windows 平台的,暫時不做討論

 

這兩個參數可以配合使用,不同的搭配,會有不同的效果

 

密碼檔案的管理:

密碼檔案的額建立:

看一下怎麼使用的 orapwd
Usage: orapwd file=<fname> entries=<users> force=<y/n> ignorecase=<y/n> nosysdba=<y/n>

  where
    file - name of password file (required),密碼檔案的名字orapw<SID>
    password - password for SYS will be prompted if not specified at command line,sys使用者的密碼
    entries - maximum number of distinct DBA (optional),可以有多少個sysdba,sysoper許可權使用者放到密碼檔案中去,實際可以放的使用者密碼檔案比這個數大
    force - whether to overwrite existing file (optional),  force 預設為n,也可以問為y,是否覆蓋原有的密碼檔案
    ignorecase - passwords are case-insensitive (optional),
    nosysdba - whether to shut out the SYSDBA logon (optional Database Vault only).
    
  There must be no spaces around the equal-to (=) character.

 

密碼檔案的修改:

(1)orapwd 建立密碼檔案(不建議使用)

(2)alter  user sys  identified by

(3) grant  sysdba  to 使用者

(4)grant sysoper to 使用者

(5)revoke  sysdba|sysoper   from  使用者

上面都會使密碼檔案產生變化

 

比如說我現在不記得我的sys使用者的密碼,這個時候我麼可以先通過作業系統認證的方式進入

sqlplus   /  as  sysdba

alter   user   sys identified   by 12334234;

 

比如說我們現在想讓一個普通使用者擁有部分sysdba的許可權

conn / as sysdba;

create user bao identified by yizhenuplooking;


SQL> grant sysdba to bao;

Grant succeeded.

 

我們可以使用密碼認證進行登入

sqlplus bao/[email protected] as sysdba;

普通使用者bao 擁有了sys的許可權,但是預設請款下不是bao而是sys使用者,可以使用show user看一下,因為你就是用sys使用者的許可權登入進來的,所以預設情況下是sys使用者

 

看下sysdba 和  sysoper到底有什麼區別,他們兩個都是系統許可權

sysdba  是幫派老大

sysoper 是幫派二當家

 

怎麼查看我目前使用者有哪些許可權呢?比如說查看當前系統哪些是具有sysdba許可權的額,哪些是具有sysoper許可權的

我們可以查看密碼檔案的視圖,這個要在sysdba使用者下才能查看

conn  /  as sysdba;

SQL> select * from v$pwfile_users;

USERNAME               SYSDB SYSOP SYSAS
------------------------------ ----- ----- -----
SYS                          TRUE  TRUE  FALSE
BAO                         TRUE  FALSE FALSE
S1                            FALSE TRUE  FALSE

總結:

(1)密碼檔案的作用

(2)密碼檔案的位置

(3)密碼檔案的尋找先後順序

首先尋找orapw<SID>,找不到在找orapwd的,都找不到則密碼認證失敗

(4)dba使用者的認證方式  系統認證和密碼檔案認證,什麼時候用什麼認證方式,由兩個參數決定

(5)密碼檔案的建立

(6)密碼檔案的修改的方式

(7)當sys密碼不對的時候,最好不要給他刪除重建立立,我麼應該用系統認證方式進入之後用alter  user   sys 的方式修改密碼,如果密碼檔案沒有了或者是損壞了,只有重建立立了

今天的作業:

1.組合時候使用兩個認證登陸方式的參數,看看會有什麼效果,從而總結出,關閉OS認證,密碼檔案,關閉本地密碼檔案,關閉遠程密碼檔案怎麼做

2.

 

oracle-6-密碼檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.