数据库安全管理
admin
2023-05-28 21:01:43
0次

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

oracle权限的分配与回收

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:拥有用于管理调度服务的调度程序作业所需的系统权限。

四、配置文件

ORACLE 配置文件

五、审计

【读书笔记】数据库审计



相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...