一、Oracle身份认证方法
Oracle身份验证主要有如下几种方式:
操作系统认证
口令文件认证
数据库密码认证
外部身份验证
网络身份验证
其中,操作系统认证和口令文件针对管理员账户;外部身份验证类似于操作系统认证。
1、操作系统认证
操作系统用户添加到DBA组之后,可以直接用connect / as sysdba连接。如:
[root@mycentos ~]# useradd scott [root@mycentos ~]# su scott [scott@mycentos ~]$ export ORACLE_SID=orcl [scott@mycentos ~]$ export ORACLE_BASE=/app/oracle [scott@mycentos ~]$ export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 [scott@mycentos ~]$ export PATH=$PATH:$ORACLE_HOME/bin [scott@mycentos ~]$ export LANG=en_US.UTF-8 [scott@mycentos ~]$ alias sqlplus=‘rlwrap sqlplus‘; [scott@mycentos ~]$ alias rman=‘rlwrap rman‘; [scott@mycentos ~]$ sqlplus /nolog
SQL> conn /as sysdba ERROR: ORA-01031: insufficient privileges
#另一窗口中执行
[root@mycentos ~]# usermod -a -G dba scott [root@mycentos ~]# grep scott /etc/group dba:x:500:oracle,scott
#此时再执行
SQL> conn /as sysdba Connected.
是否启用操作系统验证,由sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES参数控制,它具有如下三个值:
NONE:作用是不允许通过 OS 系统用户登录数据库,需要提供用户名及密码;
ALL:作用是允许所有的登录方式;
NTS:作用是允许本地操作系统用户认证;
当sqlnet.authentication_services=none时,只能使用密码连接。
SQL> conn /as sysdba ERROR: ORA-01031: insufficient privileges SQL> conn sys/asd as sysdba Connected.
当sqlnet.authentication_services=all时,允许操作系统认证。
SQL> conn /as sysdba Connected.
sqlnet.authentication_services=nts时,linux系统下不能使用操作系统认证。
2、口令文件的管理
3、数据库密码认证
简而言之就是:conn user/pwd@服务名
4、外部身份验证
创建用户时使用externally参数。
5、网络身份验证
一个用于管理身份的新兴标准时使用 LDAP 服务器。Oracle Internet Directory(OID) 就是 Oracle 符合 LDAP 标准的一个产品,全局用户就是在 LDAP 目录中定义的用户。[暂时还未接触到,目前可以忽略,创建用户时使用globally参数]
二、用户管理
2.1创建用户
create user user_name
[identified by password |externally| globally] #数据库认证方式,数据库认证、操作系统认证
[default collation collation_name]#很少用到
[default tablespace tablespace_name]
[[locla] temporary tablespace tablespace_name|tablespace group name]
[quota size_clause|unlimited on tablespace_name]
[profile profile_name] #概要文件,只做了解,oracle建议使用 Database Resource Manager
[password expire]#密码立即失效
[account lock|unlock]
[enable editions]#应该是版本控制
[container=current|all]#CDB和PDB中使用
2.2修改用户
alter user 开头,后面的语句基本与create user相同。
2.3 删除用户
DROP USER user_name [ CASCADE ] ;
2.4 权限管理
1)权限分配官方文档:
http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_9013.htm#SQLRF01603
2)权限回收官方文档:
http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_9020.htm#SQLRF01609
三、角色管理
3.1 角色的创建
create role role_name;
3.2 权限分配
grant role to user/role;
3.3 角色删除
drop role;
3.4 系统预定义的角色
connect:11.2中只有create session 的权限;
resource:具有创建数据对象和过程对象的权限,还包括unlimited tablespace的权限;
dba:处了启动和关闭数据库外几乎所有权限
select_catalog_role:只有查看数据字典的权限,但没有系统权限或针对用户数据的权限。
scheduler_admin:拥有用于管理调度服务的调度程序作业所需的系统权限。
四、配置文件
五、审计
本文出自 “三国冷笑话” 博客,请务必保留此出处http://myhwj.blog.51cto.com/9763975/1888728
原文地址:http://myhwj.blog.51cto.com/9763975/1888728