口令檔案學習

2021-06-23 07:03:58 字數 2582 閱讀 9662

一:檢視口令檔案中的使用者

可以檢視v$pwfile_users檢視,該檢視包含了被授予sysdba或sysoper系統許可權的使用者。

二:口令檔案的維護

a. 當授權給乙個使用者sysdba或sysoper許可權的時候,收到ora-1996的錯誤,你要建立乙個大的口令檔案然後在給使用者授權。確保entries引數比你需要的要大。

b. 當使用者被授予sysdba,sysoper許可權的時候,使用者的名字和許可權資訊被加入到口令檔案中,前提是在exclusive模式下。

c.刪除口令檔案,刪除口令檔案然後設定remote_login_passwordfile為none.

三:remote_login_ passwordfile引數

該引數有下面幾個值:

1.none 設定成none後,資料庫就像沒有引數檔案一樣。

2 exclusive 這個是預設的值,口令檔案可以被使用,只有exclusive的檔案能夠被修改,使用乙個exclusive的檔案,你可以新增,修改,刪除使用者,也可以使用alter user命令來改變sys的密碼。

3 shared 乙個shared檔案能被多個資料庫使用,然而該檔案不能被修改,你不能向乙個共享的口令檔案新增使用者。在exclusize模式下新增好使用者後,在變成shared模式。

個人實驗:

sql> alter system set remote_login_passwordfile=none scope=spfile;

系統已更改。

sql> shutdown immediate

sql> startup

sql> select * from v$pwfile_users;

未選定行

看到這時候是查不到記錄了。

sql> grant sysdba to aoerqileng;

grant sysdba to aoerqileng

*第 1 行出現錯誤:

ora-01994: grant 失敗: 口令檔案缺失或已禁用

將windows的作業系統認證去掉

#sqlnet.authentication_services = (nts)

sqlnet.authentication_services = (none)

在登入請輸入使用者名稱:  sys/ as sysdba

輸入口令:

error:

ora-01031: insufficient privileges

請輸入使用者名稱:  sys/kobebai as sysdba

error:

ora-01017: invalid username/password; logon denied

從上面可以看到在設定成none後,並且在禁用作業系統認證後,無論是作業系統認證還是密碼認證都無法登入。

將remote_login_passwordfile 設定預設的  exclusive,禁用作業系統認證後,通過密碼是能登入的。

請輸入使用者名稱:  sys/kobebai as sysdba

連線到:

oracle database 10g enterprise edition release 10.2.0.1.0 - production

with the partitioning, olap and data mining options

上面可以看到口令認證時通過了的。

sql> alter system set remote_login_passwordfile=shared scope=spfile;

系統已更改。

sql> shutdown immediate

sql> startup

sql> grant sysdba to aoerqileng;

grant sysdba to aoerqileng

*第 1 行出現錯誤:

ora-01999: 口令檔案不能在 shared 模式下更新

shared模式下無法跟新

注意在linux下面口令檔案的命名是有要求的,我在試驗的過程中隨便起了乙個名字,結果找不到口令檔案:

sql> select * from v$pwfile_users;

no rows selected

sql> grant sysdba to test;

grant sysdba to test

*error at line 1:

ora-01994: grant failed: password file missing or disabled

linux下的口令命名及發現順序如下:

linux

下的存放位置:

$oracle_home/dbs/orapw$oracle_sid 即:

oracle_home/dbs/orapw

windows

下的存放位置

:$oracle_home/database/pwd%oracle_sid%.ora

密碼檔案查詢的順序

--->orapw--->orapw--->failure

參考:

oracle口令檔案

在資料庫未啟動之前,如果在本地則可以通過作業系統認證來啟動資料庫。但是如果不在本地的話,就得通過口令檔案驗證來啟動資料庫。1 oracle口令檔案的建立 orapwd file password entries force nosysdba 說明file 建立的密碼檔案 password 建立的口令...

Oracle的口令檔案

oracle的口令檔案的作用是存放所有以sysdba或者sysoper許可權連線資料庫的使用者的口令,如果想以sysdba許可權遠端連線資料庫,必須使用口令檔案,否則不能連上,由於sys使用者在連線資料庫時必須以sysdba or sysoper方式,也就是說sys使用者要想連線資料庫必須使用口令檔...

Windows系統口令檔案

windows 9x系統中,有關使用者口令資訊都儲存在windows目錄下擴充套件名為.pwl的檔案中,但這個口令系統是毫無安全性可言的,使用者甚至可以使用esc鍵跳過登入程式,直接進入系統。而windows nt 2000 以後的系統加強了對使用者帳號的安全管理,使用了安全帳號管理器 sam se...