数据库安全管理
一、Oracle身份认证方法
舒城网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。成都创新互联从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
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 配置文件
五、审计
【读书笔记】数据库审计
当前名称:数据库安全管理
网址分享:http://scyanting.com/article/ijogei.html