数据库安全管理

  

一、Oracle身份认证方法

甲骨文身份验证主要有如下几种方式:

<李>

操作系统认证

<李>

口令文件认证

<李>

数据库密码认证

<李>

外部身份验证

<李>

网络身份验证

其中,操作系统认证和口令文件针对管理员账户;外部身份验证类似于操作系统认证。

<强> 1,操作系统认证

,操作系统用户添加到DBA组之后,可以直接用连接/sysdba连接。如:

[root@mycentos  ~] #, useradd 斯科特   (root@mycentos  ~) #, su 斯科特   (scott@mycentos  ~),美元export  ORACLE_SID=orcl   (scott@mycentos  ~),美元export  ORACLE_BASE=/app/oracle   (scott@mycentos  ~),美元export  ORACLE_HOME=$ ORACLE_BASE/产品/11.2.0/db_1   (scott@mycentos  ~),美元export 路径=$路径:$ ORACLE_HOME/bin   (scott@mycentos  ~),美元export  LANG=en_US.UTF-8   (scott@mycentos  ~),美元alias  sqlplus=皉lwrap  sqlplus”;   (scott@mycentos  ~),美元alias  rman=皉lwrap  rman”;   [scott@mycentos  ~),美元sqlplus /nolog 完成conn /as  sysdba   错误:   ora - 01031: insufficient 特权

#另一窗口中执行

[root@mycentos  ~] #, usermod  -a  -G  dba 斯科特   (root@mycentos  ~) #, grep  scott /etc/组   dba: x: 500:甲骨文,斯科特

#此时再执行

完成conn /as  sysdba   之前联系。

是否启用操作系统验证,由sqlnet.ora中的SQLNET。AUTHENTICATION_SERVICES参数控制,它具有如下三个值:

<李>

没有:作用是不允许通过操作系统系统用户登录数据库,需要提供用户名及密码;

<李>

:作用是允许所有的登录方式;

<李>

nt:作用是允许本地操作系统用户认证;

当sqlnet。authentication_services=时,只能使用密码连接。

完成conn /as  sysdba   错误:   ora - 01031: insufficient 特权   完成,conn  sys/asd  as  sysdba   之前联系。

当sqlnet。authentication_services=时,允许操作系统认证。

完成conn /as  sysdba   联系。

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 权限管理

oracle权限的分配与回收

1)权限分配官方文档:

2)权限回收官方文档:

三、角色管理

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的权限;

数据库安全管理