Oracle实践数据库笔记-10
Rehoni / 2018-04-03
Oracle安全
1、验证
用户
sys
1、操作系统验证
2、口令文件验证
show parameter remote_login_passwordfile
1、None
2、Exclusive(单例程,多用户)
3、Shared(多例程,单用户)
- 修改口令文件
<-cmd管理员->
orapwd file=D:\Oracle\product\11.2.0\dbhome_1\database\PWDdyi.ora password=admin entries=1 force=y
#除系统外最多允许四个用户
- 禁用操作系统验证
D:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\sqlnet.ora 中
SQLNET.AUTHENTICATION_SERVICES= (NTS) NTS改为NONE
desc v$pwfile_users;
grant sysdba to a1 identified by a1 #授权
...
select username,sysdba from v$pwfile_users;
revoke sysdba from scott , a1... #撤销
nosys
1、数据库验证
create user u1 identified by u1;
conn u1/u1#报错无权限
grant creat session to u1;#给权限
2、操作系统验证
- 编辑注册表
- 找到Oracle
-
增加OSAUTH_PREFIX_DOMAIN字串,值为false
-
建立新的windows用户hehe
-
在Oracle中建立用户
show parameter os #查信息
alter system set os_authent_prefix='' scope=spfile; #将value OPS$去掉,改完shutdown重新启动使修改生效
create user hehe identified externally #若没执行上步,需使用OPS$hehe
grant connect to hehe #赋权限
- 以windows用户登入
runas /user:hehe cmd
sqlplus/ 或 conn/ 连接数据库
- 遗留问题,之前改的NONE要改回NTS
2、授权
- 系统权限
- 对象权限
- 权限传递的原则
- 系统权限不连带
- 对象权限是连带的
- 角色:权限的集合(需要激活)
- 自定义角色
- 预定义角色
- 应用程序角色(靠应用程序激活的角色)
3、审核
- 强制审核(默认审核):重大数据库事件———-警告日志文件 D:\Oracle\diag\rdbms\orcl\orcl\trace
- 标准数据库审核
- 启用审核 ——-修改初始化参数
show parameter audit alter system set audit_trail=bzd scope=spfile; #报错会告诉你能用什么 select count(*) from aud$ truncate table aud$; desc dba_audit_trail; #查用户在什么时间做了什么
- 启用审核 ——-修改初始化参数
-
指定审核选项
- 用户审核(权限审核)
audit select any table by scott; #监视scott,只要看表就记录
- 对象审核
audit delete on scott.emp; #只要删表就记录 noaudit delete on scott.emp; audit delete on scott.emp whenever successful;#成功时记录
- 语句审核
audit create trigger; #产生行为就记录 audit sesssion whenever not successful; audit update on scott.emp by session #不管做多少次,只记录一次 access #做一次记一次
工作组:以资源共享为目的
域:以管理为目的
网络
1、资源共享
2、集中管理
3、安全
权力:全局性,用户
权限:局部性,资源
触发器:不能手工调用,是自动调用
- 用户审核(权限审核)