我的编程空间,编程开发者的网络收藏夹
学习永远不晚

用户and权限

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

用户and权限

    每次谈到用户和权限,总感觉没什么去分享和交流的。其实不然,不恰当的去形容好比你是个客户去买房子,你去看200W的房子和1000W的房子那绝对不一样,服务级别享受待遇也截然不同

    数据库中用户和权限好比钱和房子,你用户级别越高其实对应的权限越高,技术无非都是从这个世界人性化演变过来的。扯的多一些,那么我数据库中用户密码最基本的信息,户使用特定用户账号队友自己的特点和操作权限。那么角色就是权限的集合,角色可以分配给用户(给你钥匙),把这个权限特定集合分配用户。

    啥叫用户?

          分为两类:1、创建库的时候系统自己创建的用户(系统用户)  2、另一种用系统用户创建的用户,叫普通用户

        格式:

            select username,account_status,default_tablespace,temprorary_tablespace from user_users;

        解释:

            查询当年系统中所有的用户和状态所属的表空间。

        格式:

            create user user_name identified by password default tablespace users;

        解释:

            学习Oracle一定要学会用英语去看,用英语翻译上一句命令就是,创建用户user_name确认密码password默认表空间是users;其实一句话的是,无压力(黑色是关键字)。

        dba_user这个表也可以查看详细的信息,一个库表,一个用户!

    用户与模式(Schema)

        模式就是说用户拥有的对象集合。对象有表,索引,触发器等等。每个用户都会有独立的模式信息,新建用户除外,他们的集合为空的。Schema为空,Schema必须依赖于用户存在。

        格式:

      select sys_count('userenv','current_user')current_user,sys_countext('userevn','current_schema')current_schema from dual;

         解释:

            通过本条的查询语句发现我们用System登录后可以看到集合,到底有啥意义呢,就是说Schema_对象名组合可以限制数据库中唯一的对象。

       系统用户sys和system

           系统用户sys和system是最常用的两个用户系统,那么sys是ORACLE数据库中最高权限用户,角色为sysdba(数据库管理员),  system仅次于sys用户,角色是SYSOPER(数据库操作员).比如sys可以创建库,那么system不可以结合没有这个权限(默认没有)。

       格式:

            show parameter db_name;

       解释:

            代码show parameter用于显示说明db_name(数据库名称)参数信息。

       格式:

            alter user system account unlock;

        解释:

            解锁用户,比如scott用户默认是不能登陆状态,解锁后dba_users查询状态则是OPEN打开

        格式:

            alter user scott identified by password;

        解释:

             修改scott的密码,然后登陆。

    权限好比你等级,好比法律就是你在社会制度中的最高等级,Privilege的对象用户,只要是数据库操作对象和可执行的多动都会受到限制的。那么也有两种权限:1、系统权限 2、对象权限

    系统权限:

        系统权限是针对数据库特定操作,如创建数据表,与对象权限不用,对已有的对象进行访问和操作。

        格式:

            select distinct privilege from dba_sys_privs;

        解释:

            查看系统权限都有哪一些(主要组成部分)

     分配权限:

        格式:

            grant create session to tiger; --赋予创建会话(连接)的权限

            grant create table to tiger; --赋予创建表权限

            alter user tiger quota 10M on users quota 2M on temp;--因为没有分配用户能使用多大的表空间没权限,用system分配空间大小 

            select * from dba_sys_privs where lower(grantee) = 'tiger';--查询tiger用户目前有的系统权限

            revoke create table from tiger;  --撤回回收赋予tiger的权限

      对象权限:

         格式:

            select grantee,table_name,privilege from dba_tab_privs where lower(grantee)='tiger';

         解释:

            查看grantee有的对象权限。

         格式:

            grant select on dual to tiger;--把system查询dual赋权给tiger

            grant insert on table to tiger; --赋予创建table(指定表名)权限

            grant update(table_name) to tiger; --赋权只能更新这表中的name列;

            grant all on table to tiger;--赋权全部对象权限

            revoke all on table to tiger;--将tiger的对象权限全部收回


    角色:

        虽然我们可以利用系统和对象权限去控制,我们会发现任务量会变的非常复杂麻烦,在这个背景下,Oralce提出了角色的概念,角色我们该是介绍过就是系统权限或者对象权限的集合。Oracle允许创建角色,然后将角色信息赋予用户,从而间接的将权限信息添加给用户,重要的是角色可复用,某一种程度上大大减少了重复的工作和代码量。

          利用继承的特性,从简单的角色衍生出复杂的角色,无疑提高的权限分配的工作和效率

     一起来创建一个角色

            格式:

                create role role_employee;

            解释:

                create role创建角色的关键字

            格式:

                grant all on table to role_employee;--赋予全部权限给角色role

                grant role_employee to tiger;--把角色的全部权限给tiger用户,需要注意必须重新登录数据库才可以生效。

     继承角色:

         角色可以继承另一个角色的权限信息,减少自身grant的动作指令

            格式:

                grant system to role_employee;

              解释:

                  把system的权限赋权给角色role,虽然感觉意义不大,但是一些严谨的数据库对用户安全会非常重视,每一个角色都会有分类,当代码量比较复杂时候角色的用处当然会很重要。

              格式:

                  alter user cat default role none;

              解释:

                  禁止cat用户默认角色全部禁止,查询session_roles则为空

              格式:

                  set role role_hr;

              解释:

                 启动角色role_hr,如果有多个角色可以用逗号隔开

      到最后回头看一看文章,就是用户角色权限三者变化和相互依赖的关系,数据库安全仅仅依赖用户的控制是不可行的,那么一个相对安全逻辑紧密的数据库没有用户角色权限等策略是一定不行的,清晰思路一切难题都会迎刃而解!      

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

用户and权限

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

2024-04-02

Linux 用户权限

用户权限 1、访问权限2、chmod 命令3、chown 命令4、chgrp命令5、权限掩码6、lsattr 命令7、chattr命令8、文件的特别权限suid权限set位权限粘滞位权限(Sticky) 9、ACL访问控制列表s
2023-08-24

Oracle 用户与权限

create user zhansan identified by 123456; 2、授予连接数据库的权限      grant connect to zhansan; 3、授予数据库表的增、删、改、查权限      grant  insert、delete
Oracle 用户与权限
2017-10-27

mysql如何授权用户权限

授权mysql用户权限的过程包括:登录mysql使用具有管理权限的用户。创建要授权的用户(如果不存在)。使用grant语句授予所需的权限。刷新权限表以使更改生效。MySQL授权用户权限如何授权用户权限授权MySQL用户权限的过程包括以下
mysql如何授权用户权限
2024-06-15

浅谈PostgreSQL用户权限

问题  经常在PG群里看到有人在问“为什么我对表赋予了权限;但是还是不能访问表”解析  若你看懂德哥这篇文章PostgreSQL逻辑结构和权限体系介绍;上面对你就不是困扰你的问题  解决这个问题很简单;在解决之前;我们要先了解PostgreSQL的逻辑结构、以
浅谈PostgreSQL用户权限
2019-12-25

MySQL用户权限操作

查看当前用户:select user,host from user;或: SELECT DISTINCT CONCAT(‘User: ‘‘‘,user,‘‘‘@‘‘‘,host,‘‘‘;‘) AS query FROM mysql.user; 创建用户:(创建
MySQL用户权限操作
2016-04-08

MYSQL用户权限管理

1.在MySQL中,用户是怎么定义的#mysql中,定义一个用户是:用户名@‘主机域‘#用户名写法:用户名如果是字符:mysql> create user [email protected]‘10.0.0.1‘;用户名是数字需要加引号:mysql> creat
MYSQL用户权限管理
2015-02-26

MySQL修改用户权限

最近测试中台的存储服务,涉及到MySQL用户操作的命令,记录一下。1、查看所有用户select user from mysql.user;2、查看当前登陆用户select user(); 3、创建用户CREATE USER "username"@"host"
MySQL修改用户权限
2016-08-30

MySQL授予用户权限

使用该命令可以展示出mysql中存在的权限。 show privileges; 给用户授权的方式有 2 种,分别是通过把角色赋予用户给用户授权(mysql8.0的特性) 和 直接给用户授权。用户是数据库的使用者,我们可以通过给用户授予访问数
2023-08-16

oracle用户查询权限

Oracle用户查询权限可以通过以下几种方式进行:1. 使用Oracle的系统视图查询用户权限:```sqlSELECT *FROM DBA_SYS_PRIVSWHERE GRANTEE = 'username';```2. 使用Oracl
2023-08-22

oracle如何授权表权限给用户

要授予用户对表的权限,可以使用Oracle的GRANT语句。下面是一些常见的授权表权限的示例:授予用户SELECT权限:GRANT SELECT ON table_name TO username;授予用户INSERT权限:GRANT IN
oracle如何授权表权限给用户
2024-04-09

编程热搜

目录