首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Oracle:限制“其他用户”可见

Oracle:限制“其他用户”可见
EN

Stack Overflow用户
提问于 2012-05-05 05:28:36
回答 4查看 3K关注 1票数 3

我是管理方面的新手,正在努力提高Oracle数据库的安全性。

目前,非特权用户可以通过在数据库导航树中展开“其他用户”图标来查看SQL Developer中的所有其他用户的列表。

如何限制权限,使用户只能看到那些(其他)用户已授予他们对某个对象的权限(而不是所有用户,无论是否已授予权限)。

谢谢。

EN

回答 4

Stack Overflow用户

发布于 2012-05-05 05:38:03

您可能不能(至少不能合理地)。像SQL Developer这样的工具将查询ALL_USERS以获得用户列表,这将向任何有能力登录的用户显示数据库中的所有用户。如果A看不到关于B的任何其他信息,那么知道用户B的存在真的存在安全风险吗?

虽然我强烈建议您不要这么做,但您可以通过在非特权用户的模式中创建一个ALL_USERS视图(或为不同模式中的视图创建一个私有同义词)来解决这个问题,该视图的结构与ALL_USERS相同,但数据较少。由于大多数工具并不限定数据字典表SYS.ALL_USERS的名称,而只是限定ALL_USERS的名称,因此这种技巧通常有效。尽管如此,还是有很大的风险。不可避免的是,当一些安装脚本期望数据字典是“正常的”时,不可避免地会有意想不到的缺点,最终有人会使用一个完全限定数据字典表名的工具,等等。

票数 3
EN

Stack Overflow用户

发布于 2012-05-05 05:38:53

可能SQL Developer查询表(或视图,我不记得了) all_users。因此,您需要撤销此授权(以sysdba身份):

代码语言:javascript
运行
复制
revoke select on ALL_USERS from PUBLIC;

并将此权限授予您希望允许select的用户。

编辑:

我同意@Justin Cave的回答。这有风险,而且,他提出了一个很好的问题:

如果A看不到关于B的任何其他信息,那么知道用户B的存在真的是一种安全风险吗?

票数 1
EN

Stack Overflow用户

发布于 2017-11-11 03:04:23

根据你的问题:如果A看不到关于B的任何其他信息,那么A知道用户B的存在真的有安全风险吗?

我认为是,如果用户A(非特权用户)知道B的存在,它可能会尝试连接(暴力破解)和:选项a: A成功,B是特权用户选项b: A失败,因为B有一个强密码,并且在用户B上有一些配置文件限制,在A多次尝试以B身份连接后,用户B被锁定,这可能是拒绝服务的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10456383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档