Oracle和SQL Server的系统权限赋予

Oracle数据库

在Oracle中,权限分为两类,系统权限和对象权限。我们可以通过GRANT 和 REVOKE 命令来对账户进行权限的授予和撤回,一般这些操作会由DBA用户(SYS用户和SYSTEM用户)来执行。

系统权限通常允许用户执行影响数据字典或是影响数据库和实例的操作,比如创建会话,创建表,创建视图的权利(create table其实就是在数据字典中插入一条相应数据);

对象权限则是赋予用户可操纵一些数据库对象的权利,insert,delete,update,select,或者执行PL/SQL对象。

本文是关于操作系统权限,本文的操作经过我测试验证通过可行。

Sys用户创建一个新用户myuser,赋予了连接的去权限

本地远程连接数据库成功:

但是还没有表的权限

使用 grant赋予

在远程登录看看,查询成功

我们查一查当前用户的系统权限

dba_sys_privs --针对所有用户被授予的系统权限

user_sys_privs --针对当前登陆用户被授予的系统权限

看起来不舒服,我们颠倒一下列和行:

dict/dictionary数据字典是一个非常好的自我提醒的工具,我们测试查一下可以访问的数据字典:

DBA_OBJECTS / ALL_OBJECTS / USER_OBJECTS(OBJ)视图是非常常用的数据视图,可以获得数据库中任意的对象

比如:

SQL SERVER数据库

SQL Server有两种身份验证模式:

Windows身份验证模式:使用操作系统中Windows用户和密码登录,SQLServer不要求提供密码,也不执行身份验证。Windows身份验证使用了Kerberos安全协议,比SQLServer身份验证更安全。适用于局域网内部(如AD域)访问数据库的情况

SQL Server和Windows身份验证模式:又称混合验证模式,允许使用用户使用Windows身份验证和SQLServer身份验证进行连接

创建Windows身份验证用户后刷新右侧

还可以创建混合验证模式用户

创建完毕后,看一下右侧:

命令创建

createloginsql_user_awithPASSWORD='Password123';

换个用户登录

查看数据权限,其他用户就没有sql权限。

命令控制

denyconnectSQLto"TEST";

查看结果

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180915G1P1SS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券