精华内容
下载资源
问答
  • 权限、角色、用户:

    权限、角色、用户:
    Oracle 权限
    权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级、System 系统级、Role 角色级。这些权限可以授予给用户、特殊用户public或角色,如果授予一个权限给特殊用户”Public”(用户public是oracle预定义的,每个用户享有这个用户享有的权限),那么就意味作将该权限授予了该数据库的所有用户。
    对管理权限而言,角色是一个工具,权限能够被授予给一个角色,角色也能被授予给另一个角色或用户。用户可以通过角色继承权限,除了管理权限外角色服务没有其它目的。权限可以被授予,也可以用同样的方式撤销。
    权限分类
    1、系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
    2、实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。
    系统权限管理
    系统权限分类:
    DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
    RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
    RESOURCE:是系统一个角色;
    拥有的系统权限有:
    拥有的系统权限
    CREATE SEQUENCE –创建序列权限
    CREATE TRIGGER –创建触发器
    CREATE CLUSTER –创建游标
    CREATE PROCEDURE –创建存储过程
    CREATE TYPE –自定义类型
    CREATE OPERATOR –创建操作符
    CREATE TABLE –创建表
    CREATE INDEXTYPE –创建索引
    CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
    拥有的系统权限有:
    这里写图片描述
    CREATE SESSION – 用户被创建后,没有任何权限,包括登录。用户如果想登录,至少需要有 CREATE SESSION 的权限
    对于普通用户:授予connect, resource 系统角色。
    对于DBA管理用户:授予connect,resource, dba 系统角色。
    系统权限授权命令:
    系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)
    授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]…;
    注:普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。
    例:
    SQL> connect system/manager
    SQL> create user user50 identified by user50;
    SQL> grant connect, resource to user50;

    查当前用户拥有哪些系统权限和角色
    select * from session_privs; –查看当前用户拥有的权限
    select * from session_roles; –查看当前用户拥有的角色
    删除用户
    SQL> drop user 用户名 cascade; //加上cascade则将用户连同其创建的东西全部删除
    系统权限传递:
    增加WITH ADMIN OPTION选项,则得到的权限可以传递。
    SQL> grant connect, resorce to user50 with admin option; //可以传递所获权限。
    系统权限回收:系统权限只能由DBA用户回收
    SQL> Revoke connect, resource from user50;
    说明:
    1)如果使用WITH ADMIN OPTION为某个用户授予系统权限,那么对于被这个用户授予相同权限的所有用户来说,取消该用户的系统权限并不会级联取消这些用户的相同权限。
    2)系统权限无级联,即A授予B权限,B授予C权限,如果A收回B的权限,C的权限不受影响;系统权限可以跨用户回收,即A可以直接收回C用户的权限。
    实体权限管理
    实体权限分类
    select, update, insert, alter, index, delete, all //all包括所有权限
    execute //执行存储过程权限
    user01:
    SQL> grant select, update, insert on product to user02;
    SQL> grant all on product to user02;
    user02:
    SQL> select * from user01.product;
    // 此时user02查user_tables,不包括user01.product这个表,但如果查all_tables则可以查到,因为他可以访问。
    将表的操作权限授予全体用户:
    SQL> grant all on product to public; // public表示是所有的用户,这里的all权限不包括drop。
    实体权限数据字典
    SQL> select owner, table_name from all_tables; // 用户可以查询的表
    SQL> select table_name from user_tables; // 用户创建的表
    SQL> select grantor, table_schema, table_name, privilege from all_tab_privs; // 获权可以存取的表(被授权的)
    SQL> select grantee, owner, table_name, privilege from user_tab_privs; // 授出权限的表(授出的权限)
    DBA用户可以操作全体用户的任意基表(无需授权,包括删除):
    DBA用户:
    SQL> Create table stud02.product(
    id number(10),
    name varchar2(20));
    SQL> drop table stud02.emp;

    SQL> create table stud02.employee
    as
    select * from scott.emp;
    实体权限传递(with grant option):
    user01:
    SQL> grant select, update on product to user02 with grant option; // user02得到权限,并可以传递。
    实体权限回收:
    user01:
    SQL>Revoke select, update on product from user02; //传递的权限将全部丢失。
    说明
    1)如果取消某个用户的对象权限,那么对于这个用户使用WITH GRANT OPTION授予权限的用户来说,同样还会取消这些用户的相同权限,也就是说取消授权时级联的。
    Oracle 角色管理
    角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。系统预定义角色是在数据库安装后,系统自动创建的一些常用的角色。下介简单的介绍一下这些预定角色。角色所包含的权限可以用以下语句查询:
    sql>select * from role_sys_privs where role=’角色名’;
    CONNECT, RESOURCE, DBA:这些预定义角色主要是为了向后兼容。其主要是用于数据库管理。oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。将来的版本中这些角色可能不会作为预定义角色。
    DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE, SELECT_CATALOG_ROLE:这些角色主要用于访问数据字典视图和包。
    EXP_FULL_DATABASE, IMP_FULL_DATABASE:这两个角色用于数据导入导出工具的使用。
    AQ_USER_ROLE, AQ_ADMINISTRATOR_ROLE:AQ:Advanced Query。这两个角色用于oracle高级查询功能。
    SNMPAGENT:用于oracle enterprise manager和Intelligent Agent
    RECOVERY_CATALOG_OWNER:用于创建拥有恢复库的用户。关于恢复库的信息,参考oracle文档《Oracle9i User-Managed Backup and Recovery Guide》
    HS_ADMIN_ROLE:A DBA using Oracle’s heterogeneous services feature needs this role to access appropriate tables in the data dictionary.
    管理角色
    建一个角色
    sql>create role role1;
    授权给角色
    sql>grant create any table,create procedure to role1;
    授予角色给用户
    sql>grant role1 to user1;
    查看角色所包含的权限
    sql>select * from role_sys_privs;
    创建带有口令以角色(在生效带有口令的角色时必须提供口令)
    sql>create role role1 identified by password1;
    修改角色:是否需要口令
    sql>alter role role1 not identified;
    sql>alter role role1 identified by password1;
    设置当前用户要生效的角色
    (注:角色的生效是一个什么概念呢?假设用户a有b1,b2,b3三个角色,那么如果b1未生效,则b1所包含的权限对于a来讲是不拥有的,只有角色生效了,角色内的权限才作用于用户,最大可生效角色数由参数MAX_ENABLED_ROLES设定;在用户登录后,oracle将所有直接赋给用户的权限和用户默认角色中的权限赋给用户。)
    sql>set role role1; //使role1生效
    sql>set role role,role2; //使role1,role2生效
    sql>set role role1 identified by password1; //使用带有口令的role1生效
    sql>set role all; //使用该用户的所有角色生效
    sql>set role none; //设置所有角色失效
    sql>set role all except role1; //除role1外的该用户的所有其它角色生效。
    sql>select * from SESSION_ROLES; //查看当前用户的生效的角色。
    修改指定用户,设置其默认角色
    sql>alter user user1 default role role1;
    sql>alter user user1 default role all except role1;
    详见oracle参考文档
    9.删除角色
    sql>drop role role1;
    角色删除后,原来拥用该角色的用户就不再拥有该角色了,相应的权限也就没有了。
    说明:
    1)无法使用WITH GRANT OPTION为角色授予对象权限
    2)可以使用WITH ADMIN OPTION 为角色授予系统权限,取消时不是级联

    与权限安全相关的数据字典表有:
    ALL_TAB_PRIVS
    ALL_TAB_PRIVS_MADE
    ALL_TAB_PRIVS_RECD
    DBA_SYS_PRIVS
    DBA_ROLES
    DBA_ROLE_PRIVS
    ROLE_ROLE_PRIVS
    ROLE_SYS_PRIVS
    ROLE_TAB_PRIVS
    SESSION_PRIVS
    SESSION_ROLES
    USER_SYS_PRIVS
    USER_TAB_PRIV
    oracle的系统和对象权限列表
    alter any cluster 修改任意簇的权限
    alter any index 修改任意索引的权限
    alter any role 修改任意角色的权限
    alter any sequence 修改任意序列的权限
    alter any snapshot 修改任意快照的权限
    alter any table 修改任意表的权限
    alter any trigger 修改任意触发器的权限
    alter cluster 修改拥有簇的权限
    alter database 修改数据库的权限
    alter procedure 修改拥有的存储过程权限
    alter profile 修改资源限制简表的权限
    alter resource cost 设置佳话资源开销的权限
    alter rollback segment 修改回滚段的权限
    alter sequence 修改拥有的序列权限
    alter session 修改数据库会话的权限
    alter sytem 修改数据库服务器设置的权限
    alter table 修改拥有的表权限
    alter tablespace 修改表空间的权限
    alter user 修改用户的权限
    analyze 使用analyze命令分析数据库中任意的表、索引和簇
    audit any 为任意的数据库对象设置审计选项
    audit system 允许系统操作审计
    backup any table 备份任意表的权限
    become user 切换用户状态的权限
    commit any table 提交表的权限
    create any cluster 为任意用户创建簇的权限
    create any index 为任意用户创建索引的权限
    create any procedure 为任意用户创建存储过程的权限
    create any sequence 为任意用户创建序列的权限
    create any snapshot 为任意用户创建快照的权限
    create any synonym 为任意用户创建同义名的权限
    create any table 为任意用户创建表的权限
    create any trigger 为任意用户创建触发器的权限
    create any view 为任意用户创建视图的权限
    create cluster 为用户创建簇的权限
    create database link 为用户创建的权限
    create procedure 为用户创建存储过程的权限
    create profile 创建资源限制简表的权限
    create public database link 创建公共数据库链路的权限
    create public synonym 创建公共同义名的权限
    create role 创建角色的权限
    create rollback segment 创建回滚段的权限
    create session 创建会话的权限
    create sequence 为用户创建序列的权限
    create snapshot 为用户创建快照的权限
    create synonym 为用户创建同义名的权限
    create table 为用户创建表的权限
    create tablespace 创建表空间的权限
    create user 创建用户的权限
    create view 为用户创建视图的权限
    delete any table 删除任意表行的权限
    delete any view 删除任意视图行的权限
    delete snapshot 删除快照中行的权限
    delete table 为用户删除表行的权限
    delete view 为用户删除视图行的权限
    drop any cluster 删除任意簇的权限
    drop any index 删除任意索引的权限
    drop any procedure 删除任意存储过程的权限
    drop any role 删除任意角色的权限
    drop any sequence 删除任意序列的权限
    drop any snapshot 删除任意快照的权限
    drop any synonym 删除任意同义名的权限
    drop any table 删除任意表的权限
    drop any trigger 删除任意触发器的权限
    drop any view 删除任意视图的权限
    drop profile 删除资源限制简表的权限
    drop public cluster 删除公共簇的权限
    drop public database link 删除公共数据链路的权限
    drop public synonym 删除公共同义名的权限
    drop rollback segment 删除回滚段的权限
    drop tablespace 删除表空间的权限
    drop user 删除用户的权限
    execute any procedure 执行任意存储过程的权限
    execute function 执行存储函数的权限
    execute package 执行存储包的权限
    execute procedure 执行用户存储过程的权限
    force any transaction 管理未提交的任意事务的输出权限
    force transaction 管理未提交的用户事务的输出权限
    grant any privilege 授予任意系统特权的权限
    grant any role 授予任意角色的权限
    index table 给表加索引的权限
    insert any table 向任意表中插入行的权限
    insert snapshot 向快照中插入行的权限
    insert table 向用户表中插入行的权限
    insert view 向用户视图中插行的权限
    lock any table 给任意表加锁的权限
    manager tablespace 管理(备份可用性)表空间的权限
    references table 参考表的权限
    restricted session 创建有限制的数据库会话的权限
    select any sequence 使用任意序列的权限
    select any table 使用任意表的权限
    select snapshot 使用快照的权限
    select sequence 使用用户序列的权限
    select table 使用用户表的权限
    select view 使用视图的权限
    unlimited tablespace 对表空间大小不加限制的权限
    update any table 修改任意表中行的权限
    update snapshot 修改快照中行的权限
    update table 修改用户表中的行的权限
    update view 修改视图中行的权限

    展开全文
  • Android中应用调用系统权限

    千次阅读 2017-03-02 11:24:05
    现在设备的安全性越来越受到重视,随之而来的便是开发中的各种不便,比如有普通权限,运行时权限,系统权限之分。对于运行时权限的添加可以参考 Android6.0蓝牙开发中获取附近低功耗蓝牙设备结果权限问题分析 而...

    现在设备的安全性越来越受到重视,随之而来的便是开发中的各种不便,比如有普通权限,运行时权限,系统权限之分。对于运行时权限的添加可以参考

    对于Android中各个权限的含义可以参考android/frameworks/base/core/res/AndroidManifest.xml中的释义

    Android6.0蓝牙开发中获取附近低功耗蓝牙设备结果权限问题分析

    而对于系统权限,却没有很好的解决方案,暂时只有一些特定的解决方案。

    转载请注明出处,本文出自

    海天之蓝

    的博客

    Android中应用调用系统权限


    chapter one 系统应用添加系统权限

    对于可以编译到源码里的apk添加系统权限很简单,就两步

    一,在androidmanifest.xml文件中添加uid,即让应用跑在system进程中:android:sharduserid= “”

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.fang.zrf.networkdemo"
        android:sharedUserId="android.uid.system">
    
    二,在该应用的mk文件中添加签名,即让该应用使用系统签名

    LOCAL_CERTIFICATE := platform

    其中platform对应的签名文件的位置为android/build/target/product/security  platform.pk8和platform.x509.pem


    然后使用编译命令编译apk即可。

    但如果没有mk的应用该怎么办呢?

    其实也可以总结出来,让一个应用使用系统权限不外乎两步

    第一就是uid改为system第二就是使用系统的签名,明白了这些之后我们就可以对应用使用系统权限了


    chapter two 三方应用添加系统权限

    第一步同上,添加Android:shareduserid属性

    第二步,将打包好的apk使用系统签名重新签名打包。签名打包使用到一个Android源码中自带的一个工具叫做signapk,所在目录为Android/out/host/linux-x86/framework


    使用cmd命令进行重新签名打包java -jar signapk.jar platform.x509.pem platform.pk8 old.apk new.apk


    其中old.apk是打包好的apk,而new.apk是重新签名的apk。然后可以使用adb install -r new.apk将应用安装到手机上,此时即可获取系统权限。但有一个条件,既然用的是系统的签名,那首先就要保证你应用的系统签名和手机的系统签名一致,这个可能各大厂商会有所改动,所以不太能兼容。


    chapter three DEMO实现

    好了,说了这么多,来个demo看一看吧。demo所实现的功能有三个,

    一是开启手机移动网络

    二是关闭手机移动网络

    三是获取手机移动网络

    其实总结起来就是对手机移动网络的set和get两个功能而已。源码上对于set和get的方法属于hide的,不供三方应用使用,所以我们可以利用反射来调用到。

    首先,先来看看需要什么权限

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
        <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
        <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/>

    其中MODIFY_PHONE_STATE为系统权限,所以我们只能是按chapter two所示的做法来做。先把代码完成了生成了apk再重新签名。

    紧接着就是设置手机移动网络的 状态

    public static void setMobileDataState(Context context, boolean enable){
            Class[] argsClass = new Class[1];
            argsClass[0] = boolean.class;//setmobiledataenable方法中要传入一个boolean类型的参数
            ConnectivityManager connMr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            try {
                Method method = connMr.getClass().getMethod("setMobileDataEnabled",argsClass);
    
                method.invoke(connMr,enable);
            } catch (Exception e) {
                e.printStackTrace();
                Toast.makeText(context,"set failure + e = " + e.getCause(),Toast.LENGTH_LONG).show();
            }
        }


    然后是获取手机移动网络的状态

    public static boolean getMobileDataState(Context context){
    
            ConnectivityManager connMr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    
            Class[] argsclass = null;//get时不需要传入参数,所以直接传入一个null的数组即可
            try {
                Method method = connMr.getClass().getDeclaredMethod("getMobileDataEnabled",argsclass);
                return (boolean)method.invoke(connMr);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return false;
        }

    接下来就是界面设计的方法的调用了,

    先来看看界面实现效果

                    

    public class MainActivity extends Activity implements View.OnClickListener{
    
    
        private TextView mOpenNet;
        private TextView mCloseNet;
        private TextView mGetNetState;
        private TextView mNetState;
    
        private boolean isOpenState;
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            initView();
            initData();
        }
    
    
        /**
         * 初始化view
         */
        private void initView(){
            mOpenNet = (TextView) findViewById(R.id.open_network);
            mCloseNet = (TextView) findViewById(R.id.close_network);
            mGetNetState = (TextView) findViewById(R.id.get_state);
            mNetState = (TextView) findViewById(R.id.network_state);
            setClickListener(mOpenNet,mCloseNet,mGetNetState);
        }
    
    
        /**
         * 初始化数据
         */
        private void initData(){
            updateView();
    
        }
    
        /**
         * 设置view的点击事件
         * @param views
         */
        private void setClickListener(View...views){
    
            for (View view:views) {
                if (view != null){
                    view.setOnClickListener(this);
                }
            }
    
        }
        @Override
        public void onClick(View v) {
            switch (v.getId()){
                case R.id.open_network:
                    NetManager.setMobileDataState(getApplicationContext(),true);
                    updateView();
                    break;
                case R.id.close_network:
                    NetManager.setMobileDataState(getApplicationContext(),false);
                    updateView();
                    break;
                case R.id.get_state:
                    updateView();
                    break;
                default:
                    break;
            }
        }
    
        @Override
        protected void onResume() {
            super.onResume();
            updateView();
        }
    
        private void updateView(){
            isOpenState = NetManager.getMobileDataState(getApplicationContext());
            String str = isOpenState ? "true" : "false";
            if (str.equals(mNetState.getText().toString())){
                return;
            }
            mNetState.setText(str);
            setTvEnable(!isOpenState,isOpenState);
        }
    
        private void setTvEnable(boolean setEnable,boolean closeEnable){
            mOpenNet.setEnabled(setEnable);
            mCloseNet.setEnabled(closeEnable);
        }
    }


    代码完成后,在outputs目录下找到apk文件使用cmd命令进行重新签名。




    到此,结束



    如有问题,欢迎学习交流,微信公众号---fanfan程序媛














































































































    展开全文
  • 有时候使用某些api需要使用系统权限,如调用PackageInstaller的相关接口,需要android.permission.INSTALL_PACKAGES权限,该权限系统只会授权给系统应用,此时可以考虑将我们的应用升级为系统应用,升级为系统应用有...

    有时候使用某些api需要使用系统权限,如调用PackageInstaller的相关接口,需要android.permission.INSTALL_PACKAGES权限,该权限系统只会授权给系统应用,此时可以考虑将我们的应用升级为系统应用,升级为系统应用有两种方法:

    1. 将apk放到/system/app目录下,重启手机即可,此方法比较粗暴,而且需要修改/system目录的读写权限,因此需要root,而且随着Android系统版本对权限管理越来越严,root和修改读写权限更繁琐和复杂
    2. 添加sharedUserId="android.uid.system"配置,同时使用系统签名对apk进行重签名,安装后即有系统权限,此方法需要获取到系统签名,但通常厂商开发的rom都不会公开签名,因此如果针对某些自己集成系统的需求,可以使用此方案。

    下面针对第2种方案进行讲解。

    1. 首先需要在menifest文件中添加sharedUserId="android.uid.system"配置,如下
      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                  package="com.google.example"
                  android:sharedUserId="android.uid.system">

       

    2. 添加需要的使用的系统权限,如

      <uses-permission android:name="android.permission.INSTALL_PACKAGES" />

       

    3. 使用系统签名对apk进行签名,首先需要打未签名的包,Android Studio环境下点击右侧Gradle按钮,弹出目录,打开Tasks->build->assemble...,其中assemble开头的几项即是打包任务,双击相应项即可获取相应的包

    接着要获取系统签名,找到系统签名文件“platform.pk8”和“platform.x509.pem”,在系统源码路径下

    签名文件路径:android/build/target/product/security/

    准备好签名工具:“signapk.jar”

    位置:android/prebuilts/sdk/tools/lib

    将未签名的apk、签名文件和签名工具放在同一路径下,开启终端,cd到该目录,运行如下命令即可得到带系统签名的apk

    java -jar signapk.jar platform.x509.pem platform.pk8 Demo.apk signedDemo.apk

    以上的方法相对还是比较繁琐,而且不便于调试,可以将系统签名打入keystore,使用该keystore即可在Android Studio环境下生成带系统签名的apk

    1. 首先需要生成keystore文件,生成过程在此省略,可自行百度
    2. 下载keytool-importkeypair,https://github.com/getfatday/keytool-importkeypair/
    3. 该操作需要linux系统,并安装jdk,win10环境下可以开启“基于Lunix的Windows子系统”,不需要去折腾安装虚拟机或者系统。当如,如果兄dei你已经有Linux系统或者是mac,那么恭喜你,省了很多需要折腾的步骤
    4. 将keystore、platform.pk8、platform.x509.pem、keytool-importkeypair放在同一目录下,开启终端,cd到此目录,运行如下命令即可将系统签名打入keystore
      ./keytool-importkeypair -k ./demo.keystore -p password -pk8 platform.pk8 -cert platform.x509.pem -alias demoAlias
      
      解释:-P后接keystore密码,-alias后接key alias

       

    5. 运行结束即会在当前目录下生成带有系统签名的keystore,使用此keystore安装Android Studio打包流程打包即可得到带系统权限的apk

    展开全文
  • 系统权限alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter any sequence 修改任意序列的权限 alter any snapshot 修改任意快照的权限 alter ...

    系统权限

    alter any cluster 修改任意簇的权限
    alter any index 修改任意索引的权限
    alter any role 修改任意角色的权限
    alter any sequence 修改任意序列的权限
    alter any snapshot 修改任意快照的权限
    alter any table 修改任意表的权限
    alter any trigger 修改任意触发器的权限

    alter cluster 修改拥有簇的权限
    alter database 修改数据库的权限
    alter procedure 修改拥有的存储过程权限
    alter profile 修改资源限制简表的权限
    alter resource cost 设置佳话资源开销的权限
    alter rollback segment 修改回滚段的权限
    alter sequence 修改拥有的序列权限

    alter session 修改数据库会话的权限
    alter sytem 修改数据库服务器设置的权限
    alter table 修改拥有的表权限
    alter tablespace 修改表空间的权限
    alter user 修改用户的权限
    analyze 使用analyze命令分析数据库中任意的表、索引和簇
    audit any 为任意的数据库对象设置审计选项
    audit system 允许系统操作审计
    backup any table 备份任意表的权限
    become user 切换用户状态的权限

    commit any table 提交表的权限
    create any cluster 为任意用户创建簇的权限
    create any index 为任意用户创建索引的权限
    create any procedure 为任意用户创建存储过程的权限
    create any sequence 为任意用户创建序列的权限
    create any snapshot 为任意用户创建快照的权限
    create any synonym 为任意用户创建同义名的权限
    create any table 为任意用户创建表的权限
    create any trigger 为任意用户创建触发器的权限
    create any view 为任意用户创建视图的权限
    create cluster 为用户创建簇的权限
    create database link 为用户创建的权限
    create procedure 为用户创建存储过程的权限
    create profile 创建资源限制简表的权限
    create public database link 创建公共数据库链路的权限
    create public synonym 创建公共同义名的权限
    create role 创建角色的权限

    create rollback segment 创建回滚段的权限
    create session 创建会话的权限
    create sequence 为用户创建序列的权限
    create snapshot 为用户创建快照的权限
    create synonym 为用户创建同义名的权限
    create table 为用户创建表的权限
    create tablespace 创建表空间的权限

    create user 创建用户的权限
    create view 为用户创建视图的权限
    delete any table 删除任意表行的权限
    delete any view 删除任意视图行的权限
    delete snapshot 删除快照中行的权限

    delete table 为用户删除表行的权限
    delete view 为用户删除视图行的权限
    drop any cluster 删除任意簇的权限
    drop any index 删除任意索引的权限
    drop any procedure 删除任意存储过程的权限
    drop any role 删除任意角色的权限
    drop any sequence 删除任意序列的权限

    drop any snapshot 删除任意快照的权限
    drop any synonym 删除任意同义名的权限
    drop any table 删除任意表的权限
    drop any trigger 删除任意触发器的权限
    drop any view 删除任意视图的权限
    drop profile 删除资源限制简表的权限
    drop public cluster 删除公共簇的权限

    drop public database link 删除公共数据链路的权限
    drop public synonym 删除公共同义名的权限

    drop rollback segment 删除回滚段的权限
    drop tablespace 删除表空间的权限
    drop user 删除用户的权限
    execute any procedure 执行任意存储过程的权限
    execute function 执行存储函数的权限
    execute package 执行存储包的权限
    execute procedure 执行用户存储过程的权限

    force any transaction 管理未提交的任意事务的输出权限
    force transaction 管理未提交的用户事务的输出权限
    grant any privilege 授予任意系统特权的权限
    grant any role 授予任意角色的权限
    index table 给表加索引的权限
    insert any table 向任意表中插入行的权限

    insert snapshot 向快照中插入行的权限
    insert table 向用户表中插入行的权限
    insert view 向用户视图中插行的权限
    lock any table 给任意表加锁的权限
    manager tablespace 管理(备份可用性)表空间的权限
    references table 参考表的权限
    restricted session 创建有限制的数据库会话的权限
    select any sequence 使用任意序列的权限
    select any table 使用任意表的权限
    select snapshot 使用快照的权限
    select sequence 使用用户序列的权限

    select table 使用用户表的权限
    select view 使用视图的权限
    unlimited tablespace 对表空间大小不加限制的权限
    update any table 修改任意表中行的权限
    update snapshot 修改快照中行的权限

    update table 修改用户表中的行的权限
    update view 修改视图中行的权限

    授予系统权限
    语法
    grant system_privilege 【,…..】 to
    {user_name 【,…..】 | role_name【,….】| public}
    【with admin option】;

    system_privilege :系统权限,可多个权限
    user_name :被授予权限的用户
    role_name: 被授予权限的角色
    public:表示oracle系统的所有用户
    with admin option:表示被授予权限的用户可以把该权限再次授予其他人

    以sys用户给zhou6用户授予权限
    grant create session,create table
    to
    zhou6
    with admin option;
    这里写图片描述

    查看当前用户的系统权限
    select * from user_sys_privs;
    username:当前用户的用户名
    privileage:当前用户拥有的系统权限
    admin_option:当前用户是否有权利把该权限授予其他用户.
    这里写图片描述

    展开全文
  • Android系统是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制。 一、linux文件系统上的权限 -rwxr-x--x system system 4156 2012-06-30 16:12 test.apk. “-rwxr-x--x”代表的是...
  • 业务中台--系统权限管理简介

    千次阅读 2020-08-03 18:27:57
    权限系统是每位后台产品产品经理绕不过去的问题,好的权限系统可以明确公司内不同人员、不同部门的分工,降低操作风险发生概率,便于管理等优势。笔者曾负责过若干种后台系统的搭建,其中都绕不开“权限管理”,现...
  • 系统权限架构.PDM

    热门讨论 2014-01-16 11:15:12
    我的基于SpringSecurity设计的RBAC权限架构,秉承我无限分享、免费分享一切技术资源的原则,下载不需要任何积分,并且对初学者肯定有用。
  • QQ远程系统权限原因,暂时无法操作

    万次阅读 2020-11-05 13:21:34
    1 win10自带搜索框搜索用户账户控制设置。 2 搜索UN徐远程连接到此计算机。 3 搜索 4 切换到超级用户。 5 再次远程
  • 我只有一个C盘,所以安装在C盘某个个人路径下,提示系统权限限制 个人解决办法: 将C改为小写c,可以, 没试过安装其他盘
  • android 7.1悬浮窗系统权限问题

    万次阅读 2017-09-12 10:48:42
    本文出自:【奥特曼超人的博客】小米系统需要处理授权问题,Android 5.0之后系统权限,Android 6.0趋于平稳,Unable to add window,permission denied for this window7.0之后某些版本使用吐司Toast引crash....
  • Android app获取系统权限

    万次阅读 2018-03-22 00:57:10
    https://www.jianshu.com/p/47265c8899b5有时候,我们开发的apk需要用到系统权限,需要在AndroidManifest.xml中添加共享系统进程属性:android:sharedUserId="android.uid.system" android:sharedUserId=&...
  • java系统权限设计思路总结

    千次阅读 2018-09-30 22:36:02
    这篇文章的定位,不是宣传某个框架,仅仅之是...1.什么是权限,程序员理解的权限和客户所理解的权限是不是一致的。 2.权限的划分原则,权限到底是根据什么原则进行组合的。 3.角色是用户与权限之间的必要的关...
  • 系统权限设计实现_精确菜单和按钮

    千次阅读 2019-01-03 13:02:40
    每个系统都离不开权限控制,这里来说说页面上控制到按钮的思路,仅提供思路: 使用 角色 + 资源(菜单和菜单对应页面上的按钮)+ 授权的方式。 1 定义角色与用户;  假定这里我们只控制到角色这一层次,一个用户...
  • Android 6.0修改系统权限分析(一)

    千次阅读 2017-02-09 11:17:42
    Android 6.0之后敏感权限默认是关闭的,必须显式的去请求这个权限。而在6.0之前,只要你在manifest里面声明过所需要的权限,安装...项目中需要写系统设置的权限,该权限可以设置音量,调节明暗,测试手机系统是Androi
  • 在应用开发时经常会有这样的...好了,现在就让我们一起来实现一个利用系统权限实现手机重启的示例吧。 一、实现 我们实现很简单,就是给界面一个按钮,然后设置按钮的点击事情,在点击事件里完成手机重启操作。 1、布局
  • vue 后台系统权限管理

    千次阅读 2018-12-07 09:07:18
    最近在做一个后台管理系统,一般的后台系统都有权限管理这块,下面我就分享下我实现权限管理这块的思路。 技术栈及实现思路 首先说下这个系统前端用到的技术栈,vue全家桶,element-ui,axios。首先,用户的权限是通过...
  • OA系统 权限管理的设计流程

    千次阅读 2016-06-22 14:04:55
    系统中,权限通过模块+动作来产生,模块就是整个系统中的一个子模块,可能对应一个菜单,动作也就是整个模块中(在B/S系统中也就是一个页面的所有操作,比如“浏览、添加、修改、删除”等)。将模块与之组合可以...
  • 7-Zip->解压到"BaiduNetdisk_x.x.x";把解压出来的以$开头的文件夹删掉;移动解压出来的文件夹到目标位置;安装完成。 2.先安装或复制之前的安装;压缩文件夹或复制文件夹到其他路径下;卸载原来安装的;...
  • 系统权限管理设计

    万次阅读 多人点赞 2014-07-11 16:39:19
    关于权限菜单的设计
  • OA系统权限管理设计方案

    万次阅读 2015-01-03 23:00:06
    (转)OA系统权限管理设计方案 - 游陆之家 Gis 之家 ArcGIS SuperMap MapGis ArcINfo 地理信息系统 - CSDN博客  2010-05-13 10:10:12| 分类: 默认分类 | 标签: |字号大中小 订阅  ...
  • 系统权限设计说明文档

    千次阅读 2017-06-23 17:10:05
    新老系统权限区别 权限实现方式老系统使用shiro拦截器实现,新系统改变spring Interceptor,系统更为轻量,更为灵活。 菜单配置,老系统使用数据库存储的方式,新系统改变xml配置在项目充,不需要跟随系统发布配置...
  • 在旧版本,要获取设备权限(如读写权限等)直接在项目中配置即可,无需过问app用户。在新版本的API中,出于安全考虑,要获取设备的相应权限需要通过权限请求,用户通过之后才可以获取权限,android和ios的获取权限...
  • Java 实现系统权限控制思路

    万次阅读 热门讨论 2016-12-19 14:47:45
    首先介绍下思路: ...根据用户角色取出该角色所有权限,并对用户进行权限分配;注意菜单的按钮(新增、删除、修改)权限是放在中间表(user_menu)中的; 1、新增用户时,是要根据用户角色进行分配权
  • 在 Android 的API中有提供 SystemClock.setCurrentTimeMillis()函数来修改系统时间,可惜无论你怎么调用这个函数都是没用的,无论模拟器...这个函数需要root权限或者运行与系统进程中才可以用。  本来以为就没有
  • --系统权限:是针对oracle系统操作...--角色权限:角色其实是特定系统权限和对象权限的组合,是一组权限的组合,便于对用户授权,Oracle内置了一些角色,如经常使用的 connnet,reseource和dba等。  关于几种常见的
  • 关于系统设置的代码,基本都在android.provider.Settings类中。仔细查看Settings类,可以找到如下的常量值: /** * Whether applications can be installed for this user via the system's * {@link Intent#...
  • NFS共享文件系统权限配置

    万次阅读 2018-02-01 17:08:28
    参考网站: http://blog.51cto.com/soysauce93/1698258 http://www.sunguide.cn/?p=39 上边两个链接在安装上步骤比较详细,直接安装即可。 ...##NFS的配置不详细,尤其是权限。... [客户端1 选项(访问权限,用户映射,
  • android-support-v4 最新版本v4,可以解决Android6.0以上系统权限问题,内部有requestPermissions 等新的方法
  • Mac OS X 启用超级用户 sudo -s 获得系统权限 Mac终端命令
  • 系统权限设计(五张表)

    万次阅读 2016-10-30 16:16:25
    大致用到5张表:三张主表,两张从表 主表:用户表(UserInfo)、角色表(RoleInfo)、菜单表(MenuInfo) 从表:用户角色表(UserRole)、角色菜单表(RoleMenu)。  各表的大体表结构如下: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,515,720
精华内容 606,288
关键字:

系统权限