art*_*cer 2 oracle security linux
我在 Linux 上使用 oracle 12c。使用企业管理器数据库 express 我正在查看 sys 用户的权限和角色列表,但我没有找到在那里分配的 sysdba 权限。
sys 用户是 oracle 角色的成员还是具有 sysdba 权限的 Linux 组?什么角色或组?
来自12c 文档:
SYS 用户在安装时被自动授予 SYSDBA 权限。以 SYS 用户身份登录时,必须以 SYSDBA 或 SYSOPER 身份连接到数据库。以 SYSDBA 用户身份连接调用 SYSDBA 权限;作为 SYSOPER 连接调用 SYSOPER 权限。Oracle Enterprise Manager Database Control 不允许您在不以 SYSDBA 或 SYSOPER 身份连接的情况下以用户 SYS 身份登录。
你不能撤销它:
Run Code Online (Sandbox Code Playgroud)SQL> revoke sysdba from sys; revoke sysdba from sys * ERROR at line 1: ORA-01998: REVOKE failed: user SYS always has SYSOPER and SYSDBA
来自文档的更多信息:
即使数据库未打开,这些管理权限也允许访问数据库实例。这些权限的控制完全在数据库本身之外。使用这些权限对数据库管理员进行身份验证的方法包括操作系统 (OS) 身份验证、密码文件以及使用基于目录的身份验证服务的强身份验证。
这些权限也可以被认为是连接类型,使您能够执行某些无法以任何其他方式授予权限的数据库操作。
和:
当您向用户授予 SYSDBA、SYSOPER、SYSBACKUP、SYSDG 或 SYSKM 管理权限时,该用户的名称和权限信息将添加到数据库密码文件中。仅当该用户至少具有这些权限之一时,该用户的名称才会保留在密码文件中。如果您撤销所有这些权限,Oracle 数据库将从密码文件中删除该用户。