GRANTEE PRIVILEGE ADM ------------------------------ ---------------------------------------- --- RESOURCE CREATE TYPE NO RESOURCE CREATE TABLE NO RESOURCE CREATE CLUSTER NO RESOURCE CREATE TRIGGER NO RESOURCE CREATE OPERATOR NO RESOURCE CREATE SEQUENCE NO RESOURCE CREATE INDEXTYPE NO RESOURCE CREATE PROCEDURE NO
常见任务
标识具有 UNLIMITED TABLESPACE 权限的用户,并将其份额更改为在所有表空间中均为 unlimited。 set lines 300
set pages 0
spool quota.sql
select 'alter user '||grantee||' quota unlimited on '||
tablespace_name||';'
from dba_sys_privs p, dba_tablespaces t
where p.grantee in (
select username
from dba_users
)
and p.privilege = 'UNLIMITED TABLESPACE'
and t.tablespace_name not in ('SYSTEM','SYSAUX')
order by grantee, tablespace_name
/
spool off
此代码创建一个包含类似如下内容的文件 alter user ORAAGENT quota unlimited on INDEX01;
alter user ORAAGENT quota unlimited on INDEX02;
alter user ORADBA quota unlimited on INDEX02;
接下来,您可以执行此脚本文件以拥有这些用户的无限份额。 最后,删除 UNLIMITED TABLESPACE。 set lines 300
set pages 0
spool revoke_ut.sql
select 'revoke unlimited tablespace from '||grantee||';'
from dba_sys_privs
where privilege = 'UNLIMITED TABLESPACE'
/
spool off
然后,执行此脚本文件以撤销权限。 可能的影响 删除这些权限以及将 SYSTEM 表空间的份额减少为 0 不会产生影响。 但如果 SYSTEM 表空间中存在段,并且您将其移动到其他表空间,则将产生两个结果:
- rowid 将因为物理移动而更改。 如果您有一个基于 rowid 的应用程序,则应注意这一点。
- 表索引将不可用 - 您必须重建它们。
此更改还可以使某些独立过程无效。
操作计划
找到 SYS、SYSTEM 和 OUTLN 之外的用户的默认表空间。 如果默认表空间为 SYSTEM,则将其更改为非 SYSTEM 表空间。 找到属于 SYS、SYSTEM 和 OUTLN 之外的用户的 SYSTEM 表空间段。 如果找到,则 |
|
将它们移出到它们的表空间 重新构建索引、物化视图等。 |
ENDIF 找到具有 UNLIMITED TABLESPACE 系统权限的用户 如果找到,则 |
|
向他们授予所有表空间(SYSTEM 和 SYSAUX 除外)的无限份额 撤销系统权限 UNLIMITED TABLESPACE |
ENDIF |
2.9 监控监听器日志以获知尝试的非法入侵
背景 在阶段 1.7 中,您了解了如何通过限制在线更改参数的能力来保护 Oracle Listener。 这样做很不错,但您如何知道是否有人尝试非法入侵以及何时尝试非法入侵? 防止入侵只是预防措施的一部分;跟踪防御的有效性同样重要。
您可以从监听器日志文件中浏览已尝试的失败登录。 当用户提供错误口令并尝试修改监听器时,以下消息将写入监听器日志: 12-NOV-2005 23:23:12 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=prolin01)(USER=ananda
))(COMMAND=stop)(ARGUMENTS=64)(SERVICE=LISTENER_PROLIN01)(VERSION=168821760)) * stop * 1190
TNS-01190: The user is not authorized to execute the requested listener command
该消息表明 11 月 12 日晚上 11:23,用户“ananda”尝试停止监听器(注意 (COMMAND=stop) 的存在),但提供了错误的口令。 这是否表示尝试的非法入侵? 有可能。 ananda 也可能是一个合法用户,但在输入口令时出现输入错误,从而产生此错误。 但如果您多次看到此错误,则它实际上可能指示尝试的非法入侵。应访问用户 ananda 并验证它实际上是否尝试停止监听器。
同样,在监听器中限制 admin 选项时,用户无法只从命令行设置参数。 如果用户尝试使用以下命令:
(编辑:aniston)
|