ORACLE_OCP之用户与权限管理
一、ORACLE数据库两种安全验证模式—OS认证
-
使用操作系统验证:
- 我们可以将新建立用户或者把原来的用户加入到oinstall组或dba等组中,然后使用这个用户在安装了数据库的本地机器登陆或者使用安全的远程连接登陆,可以作为sysdba登录,在数据
库级不需要提供密码。 - 验证命令:
- sqlplus / as sysdba (以最高权限登录) //os认证模式
- 除系统用户外,其他用户依旧需要使用口令进行认证:sqlplus hr/hr (前面的hr是用户名,后面的hr是密码)
- 我们可以将新建立用户或者把原来的用户加入到oinstall组或dba等组中,然后使用这个用户在安装了数据库的本地机器登陆或者使用安全的远程连接登陆,可以作为sysdba登录,在数据
-
sqlnet.ora文件中加入 ,文件位置在 $ORACLE_HOME/network/admin目录下
SQLNET.AUTHENTICATION_SERVICES=(NTS) //这一种模式只支持WINDOWS NT系统
LINUX下默认是支持OS认证和口令(密码)认证的所以不需要修改sqlnet.ora -
关闭os验证
- 把操作系统用户的dba组oinstall组取消
- 修改sqlnet.ora文件
- SQLNET.AUTHENTICATION_SERVICES = (NONE) // 关闭os认证方式
- 以上两个条件满足任何一个即可。推荐使用第二种;
二、ORACLE数据库两种安全验证模式—口令认证
- Oracle的口令文件的作用是存放所有以sysdba或者sysoper权限连接数据库的用户的口令,如果想以sysdba权限远程连接数据库,必须使用口令文件,否则不能连上。
- 由于sys用户在连接数据库时必须以sysdba or sysoper方式,也就是说sys用户要想连接数据库必须使用口令文件。使用口令文件的好处是即使数据库不处于open状态,依然可以通过口令文件验证来连接数据库。
- 安装完oracle,没有给普通用户授予sysdba权限,口令文件中只存放了sys的口令,如果之后把sysdba权限授予了普通用户,那么此时会把普通用户的口令从数据库中读到口令文件中保存下来,当然这时必须要求数据库处于open状态。
- 口令文件位置:
[oracle@oracle12 ~]$ cd $ORACLE_HOME/dbs
[oracle@oracle12 dbs]$ ls -l
total 24
-rw-rw----. 1 oracle oinstall 1544 Dec 20 03:56 hc_orcl.dat
-rw-r--r--. 1 oracle oinstall 3079 May 15 2015 init.ora
-rw-r-----. 1 oracle oinstall 24 Dec 19 05:58 lkDUMMY
-rw-r-----. 1 oracle oinstall 24 Dec 19 06:08 lkORCL
-rw-r-----. 1 oracle oinstall 3584 Dec 19 06:10 orapworcl
-rw-r-----. 1 oracle oinstall 3584 Dec 20 13:04 spfileorcl.ora
[oracle@oracle12 dbs]$ pwd
/u01/app/oracle/product/12.2.0/db_1/dbs
[oracle@oracle12 dbs]$ cat orapworcl
]\[Z▒▒▒▒ORACLE Remote Password fileYS8▒w▒▒▒+▒%*H▒▒▒▒M▒▒▒lD&)▒X▒S▒▒▒▒ X▒|y▒+$$▒C▒▒q+;.▒Q▒▒▒▒▒▒▒▒9▒▒f▒RR▒▒5▒▒49d&▒▒▒
▒▒▒SYSDG
I-RH▒▒\▒U▒▒Xأ▒n▒#r▒쵎n▒▒▒▒5N&PE!Y▒rI▒▒[▒~T▒▒p[▒i+EX\▒▒▒^|▒C▒ 3▒>h▒▒;▒▒▒Ν▒▒▒▒▒▒xf˾▒w▒nv/▒▒▒*/▒ZSYSBACKUP ▒E6
▒s▒▒▒▒▒<▒d▒6=
▒|▒+6▒▒8PKS|▒4▒f ts6 $9▒▒c▒▒▒d▒fL▒▒▒B▒!▒▒▒▒s▒▒.▒_H▒▒▒▒▒▒▒#▒qOM▒▒^=sڇ#SYSKM
*b▒$▒▒%▒▒!'▒XU▒|▒-▒BR▒▒▒▒8▒▒A<"▒{▒x▒▒▒~Y▒▒ݷ▒▒▒▒t▒▒o
k▒▒$B▒▒1۫▒P▒▒▒\Lp+k▒N▒▒▒cA4▒▒.▒▒Rہ▒▒[oracle@oracle12 dbs]$ xterm-256colorxterm-256colorxterm-256colorxterm-256color:q
-bash: xterm-256colorxterm-256colorxterm-256colorxterm-256color:q: command not found
-
使用口令文件验证:如果当前没有使用口令文件验证。可以采用如下方法开启口令文件验证:
- 修改sqlnet.ora里的参数:SQLNET.AUTHENTICATION_SERVICES = (NONE) //关闭OS认证方式,打开口令认证方式
- 详解设置如下:
[oracle@oracle12 dbs]$ cd $ORACLE_HOME/network/admin [oracle@oracle12 admin]$ ls -l total 12 -rw-r--r--. 1 oracle oinstall 332 Dec 19 05:34 listener.ora drwxr-xr-x. 2 oracle oinstall 64 Dec 19 05:23 samples -rw-r--r--. 1 oracle oinstall 14