暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

在Oracle数据库中,以下哪项描述最准确地反映了PUBLIC的作用?

原创 小伙 2025-06-09
106

在Oracle数据库中,以下哪项描述最准确地反映了PUBLIC的作用?

A

PUBLIC是预定义的角色,不能被修改或删除。

B

PUBLIC是一个特殊用户,拥有系统管理员权限。

C

PUBLIC可以被用来将对象权限或系统权限授予所有用户。

D

PUBLIC代表所有当前登录的用户。

 
C. PUBLIC可以被用来将对象权限或系统权限授予所有用户。

详细解析: PUBLIC的本质

PUBLIC是Oracle中一个特殊标识符,代表数据库中的所有用户(包括未来创建的用户)。它既不是预定义角色(dba_roles中无记录),也不是具体用户(dba_users中无记录),而是权限分配的“集合体”。 核心作用:全局授权

系统权限:通过GRANT <权限> TO PUBLIC可将权限(如CREATE SESSION)赋予所有用户。

对象权限:例如GRANT SELECT ON scott.emp TO PUBLIC,使所有用户可查询该表。

安全风险:Oracle官方建议谨慎授予系统权限给PUBLIC,避免权限滥用(如默认PUBLIC拥有EXECUTE权限可能被恶意利用)。 与其他选项的对比

A选项错误:PUBLIC不是角色(dba_roles查询为空),无法像角色一样被修改或删除。

B选项错误:PUBLIC没有默认管理员权限,仅作为权限分配的媒介。

D选项错误:PUBLIC代表所有用户(包括未登录的),而非仅当前登录用户。 实际应用与风险控制

禁用建议:安全实践中需定期检查并撤销PUBLIC的非必要权限(如REVOKE CREATE PROCEDURE FROM PUBLIC)。

权限继承:若授权时使用WITH GRANT OPTION,用户可进一步传递权限,但PUBLIC本身不支持此选项。

总结:

PUBLIC的核心功能是作为权限分配的全局容器,通过它可一次性向所有用户授予权限。但因其潜在安全风险,应严格遵循最小权限原则,避免过度授权。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论