用户and权限
admin
2023-04-22 15:03:16
0

    每次谈到用户和权限,总感觉没什么去分享和交流的。其实不然,不恰当的去形容好比你是个客户去买房子,你去看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,如果有多个角色可以用逗号隔开

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

相关内容

热门资讯

“一次愉快的会晤”,泽连斯基披... 在俄乌互相加大对对方纵深目标打击之际,乌克兰总统泽连斯基7月28日造访了白宫,与美国总统特朗普举行会...
总统连遭“逼宫”,少帅临危受命 躲避着燃烧瓶和火箭弹袭击,四辆苏制BMP步兵战车快速穿行在马里乌波尔市区。即将出城的路口,迎面出现1...
独居女子在卧室玩偶内发现摄像头... 租房独居女子意外发现家中玩偶内藏着偷拍设备,报警后偷拍设备竟“不翼而飞”,门锁记录显示有人在她出门的...
伊学者:乌克兰袭击行动适得其反... 乌克兰袭击与伊朗有关的船只后,伊朗和俄罗斯接连作出强硬回应。伊朗外交学院教授法拉吉扎德在接受凤凰卫视...
20万人怒火不会停!蓝议员挺蒋... 海峡导报综合报道 在蓝白号召台湾民众上凯道呐喊“反毒台”后,台北市长蒋万安日前透露,近日不少民代私下...
柯文哲妻子陈佩琪畅游大陆,民进... 台湾民众党前主席柯文哲妻子陈佩琪27日在脸书发文证实,自己早前由儿子陪同前往上海、杭州与北京旅游一周...
高市早苗被问如何改善中日关系 据日本东京新闻报道,当地时间7月27日,日本首相高市早苗在首相官邸举行记者会。当被问及如何改善中日关...
扎哈罗娃批小泉进次郎涉核言论:... 【环球网报道 记者 张江平】综合俄新社等媒体报道,对于日本防卫大臣小泉进次郎涉核言论,俄罗斯外交部发...
“特高课”再现?日本强推“国家... 无视反对战争正义呼声 复刻战前军国主义体制日本强推“国家情报局”引发广泛担忧和批评(国际视点)本报记...
6G相比5G不只是速度更快 将...   6G相比5G不只是速度更快  【6G相比5G不只是速度更快】7月28日,相比5G,6G不仅是速度...