学习笔记-访问控制

访问控制
为什么要进行访问控制?
Oracle是一个多用户访问的数据库服务器,所以需要对不同的用户分配不同的权限。

创建用户
    create user user_name identified by password;

修改用户密码
    alter user user_name identified by new_password;

系统权限
    分配系统权限
    grant priv1[,priv2,...] to user | role | public;

    privn: 表示权限的名称,有:
        create session, 创建会话,可以让用户登录
        create table, 创建表
        create view, 创建视图
        create sequence, 创建序列
        unlimited tablespace, 不限制表空间的权限,在命令行界面下,有了create table权限,
        还是不能创建表,因为没有使用表空间的权限。在授予这个权限就OK了。

    user:表示用户
    role:表示角色
    public:表示所有用户

    撤销用户权限
        revoke priv1[,priv2,...] from user_name;

角色
    角色是权限的集合。当用户数量较多时,需要对用户一个一个分配权限就显得麻烦了,使用角色会很方便的。

    创建角色
        create role role_name;

    给角色分配权限
        grant priv1[, priv2,...] to role_name;

    将角色授予用户
        grant role_name to user_name;

    从用户上撤销角色
        revoke role_name from user_name;

    从角色上撤销权限
        revoke priv1[,priv2,...] from role_name;

对象权限
    grant priv1 on table_name to user_name;
    将表的什么权限给与哪个用户。

    常用的对象权限有:
        insert, delete, update, select, index, alter, references,

    撤销对象权限
        revoke priv1 on table_name from user_name;

    对表的权限控制可以精确到列(字段)上
        grant privs(字段名) on table_name to user_name;

        grant insert('name') on mytab to lisi;
        将mytab表name字段的插入权限给与lisi用户。

        revoke insert on mytab from lisi;
        撤销这个对象权限。

权限的传递
    系统权限的传递
        grant create table to lisi with admin option;
        将创建表的权限传给lisi用户,加上with admin option 表示lisi用户可以将这个权限再次传给其他用户。

        revoke create table from lisi;

    对象权限的传递
        grant select on mytab to lisi with grant option;
        带上with grant option的话,lisi用户就可以将select的对象权限传递给其他用户了。

        revoke select on mytab from lisi;

数据字典视图
    role_sys_privs              显示角色授予用户的系统权限
    role_tab_privs              显示角色授予用户的对象权限
    user_role_privs             显示用户拥有的角色
    user_sys_privs              显示用户拥有的系统权限
    user_tab_privs              显示用户拥有的对象权限
    ...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值