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

OceanBase查看用户权限

2023-02-02
1494

用户创建成功后,您可以根据需要查看用户已授予的权限。

通过 SQL 语句查看用户权限

  1. 登录数据库的 Oracle 租户。

  2. 执行以下命令,查看某个用户被授予的权限。

    • 查看某个用户被授予的系统权限

      管理员可以通过 DBA_SYS_PRIVS 视图查看某个用户被授予的系统权限。

      obclient> SELECT * FROM DBA_SYS_PRIVS WHERE grantee='SECUSER';
      +---------+-----------------+--------------+
      | GRANTEE | PRIVILEGE       | ADMIN_OPTION |
      +---------+-----------------+--------------+
      | SECUSER | CREATE SEQUENCE | NO           |
      +---------+-----------------+--------------+
      1 row in set
      

      更多 DBA_SYS_PRIVS 视图的字段及说明请参见 DBA_SYS_PRIVS

    • 查看当前用户被授予的系统权限

      普通用户和管理员都可以通过 USER_SYS_PRIVS 视图查看自己被授予的系统权限。

      obclient> SELECT * FROM USER_SYS_PRIVS;
      +----------+----------------+--------------+
      | USERNAME | PRIVILEGE      | ADMIN_OPTION |
      +----------+----------------+--------------+
      | USER2    | CREATE SESSION | NO           |
      | USER2    | CREATE TABLE   | YES          |
      +----------+----------------+--------------+
      2 row in set
      

      更多 USER_SYS_PRIVS 视图的字段及说明请参见 USER_SYS_PRIVS

    • 查看某个用户被授予的对象权限

      管理员可以通过 DBA_TAB_PRIVS 视图查看某个用户被授予的对象权限。

      obclient> SELECT * FROM DBA_TAB_PRIVS WHERE grantee='SECUSER';
      +---------+-------+------------+---------+-----------+-----------+-----------+
      | GRANTEE | OWNER | TABLE_NAME | GRANTOR | PRIVILEGE | GRANTABLE | HIERARCHY |
      +---------+-------+------------+---------+-----------+-----------+-----------+
      | SECUSER | SYS   | TBL4       | SYS     | SELECT    | NO        | NO        |
      | SECUSER | SYS   | TBL4       | SYS     | UPDATE    | NO        | NO        |
      +---------+-------+------------+---------+-----------+-----------+-----------+
      2 rows in set
      

      更多 DBA_TAB_PRIVS 视图的字段及说明请参见 DBA_TAB_PRIVS

    • 查看当前用户被授予的对象权限

      普通用户和管理员都可以通过 USER_TAB_PRIVS 视图查看当前自己被授予的对象权限。

      obclient> SELECT * FROM USER_TAB_PRIVS;
      +---------+-------+-----------------+---------+-----------+-----------+-----------+
      | GRANTEE | OWNER | TABLE_NAME      | GRANTOR | PRIVILEGE | GRANTABLE | HIERARCHY |
      +---------+-------+-----------------+---------+-----------+-----------+-----------+
      | PUBLIC  | SYS   | VERIFY_FUNCTION | SYS     | EXECUTE   | NO        | NO        |
      +---------+-------+-----------------+---------+-----------+-----------+-----------+
      1 row in set
      

      更多 USER_TAB_PRIVS 视图的字段及说明请参见 USER_TAB_PRIVS

    • 查看某个用户所拥有的角色。

      管理员可以通过 DBA_ROLE_PRIVS 视图查看某个用户所拥有的角色。

      obclient> SELECT * FROM DBA_ROLE_PRIVS WHERE grantee='USER2';
      +---------+--------------+--------------+--------------+
      | GRANTEE | GRANTED_ROLE | ADMIN_OPTION | DEFAULT_ROLE |
      +---------+--------------+--------------+--------------+
      | USER2   | ROLE1        | NO           | YES          |
      +---------+--------------+--------------+--------------+
      1 row in set
      

      更多 DBA_ROLE_PRIVS 视图的字段及说明请参见 DBA_ROLE_PRIVS

      如果需要查看各角色所拥有的对象权限或系统权限,可以参见 查看角色

    • 查看当前用户被授予的角色

      管理员和普通用户都可以通过 USER_ROLE_PRIVS 视图查看自己被授予的角色。

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

评论