IT门户, 中国互联网人工智能物联网行业资讯平台--公众IT
新闻来源:互联网资料整理       发布时间:2023/4/7 4:10:25       共计:4708 浏览

根据用户的使用过程体验,可以将Android涉及的权限大致分为如下三类:

(1)Android手机所有者权限:自用户购买Android手机后,用户不需要输入任何密码,就具有安装一般应用软件、使用应用程序等的权限;

(2)Androidroot权限:该权限为Android系统的最高权限,可以对所有系统中文件、数据进行任意操作。出厂时默认没有该权限,需要使用z4Root等软件进行获取,然而,并不鼓励进行此操作,因为可能由此使用户失去手机原厂保修的权益。同样,如果将Android手机进行root权限提升,则此后用户不需要输入任何密码,都将能以Androidroot权限来使用手机。

(3)Android应用程序权限:Android提供了丰富的SDK(Softwaredevelopmentkit),开发人员可以根据其开发Android中的应用程序。而应用程序对Android系统资源的访问需要有相应的访问权限,这个权限就称为Android应用程序权限,它在应用程序设计时设定,在Android系统中初次安装时即生效。值得注意的是:如果应用程序设计的权限大于Android手机所有者权限,则该应用程序无法运行。如:没有获取Androidroot权限的手机无法运行RootExplorer,因为运行该应用程序需要Androidroot权限。

Android系统权限定义

Android系统在/system/core/private/android_filesystem_config.h头文件中对Android用户/用户组作了如下定义,且权限均基于该用户/用户组设置。

值得注意的是:每个应用程序在安装到Android系统后,系统都会为其分配一个用户ID,如app_4、app_11等。以下是Calendar和Terminal软件在Android系统中进程浏览的结果(其中,黑色字体标明的即为应用分配的用户ID):

在Android系统中,上述用户/用户组对文件的访问遵循Linux系统的访问控制原则,即根据长度为10个字符的权限控制符来决定用户/用户组对文件的访问权限。该控制符的格式遵循下列规则:

第1个字符:表示一种特殊的文件类型。其中字符可为d(表示该文件是一个目录)、b(表示该文件是一个系统设备,使用块输入/输出与外界交互,通常为一个磁盘)、c(表示该文件是一个系统设备,使用连续的字符输入/输出与外界交互,如串口和声音设备),“.”表示该文件是一个普通文件,没有特殊属性。

2~4个字符:用来确定文件的用户(user)权限;

5~7个字符:用来确定文件的组(group)权限;

8~10个字符:用来确定文件的其它用户(otheruser,既不是文件所有者,也不是组成员的用户)的权限。

第2、5、8个字符是用来控制文件的读权限的,该位字符为r表示允许用户、组成员或其它人可从该文件中读取数据。短线“-”则表示不允许该成员读取数据。

第3、6、9位的字符控制文件的写权限,该位若为w表示允许写,若为“-”表示不允许写。

第4、7、10位的字符用来控制文件的制造权限,该位若为x表示允许执行,若为“-”表示不允许执行。

举个例子,“drwxrwxr--2rootroot40962月1110:36lu”表示的访问控制权限(黑色字体标明)为:因为lu的第1个位置的字符是d,所以由此知道lu是一个目录。第2至4位置上的属性是rwx,表示用户root拥有权限列表显示lu中所有的文件、创建新文件或者删除lu中现有的文件,或者将lu作为当前工作目录。第5至7个位置上的权限是rwx,表示root组的成员拥有和root一样的权限。第8至10位上的权限仅是r--,表示不是root的用户及不属于root组的成员只有对lu目录列表的权限。这些用户不能创建或者删除lu中的文件、执行junk中的可执行文件,或者将junk作为他们的当前工作目录。

Android应用程序权限申请

每个应用程序的APK包里面都包含有一个AndroidMainifest.xml文件,该文件除了罗列应用程序运行时库、运行依赖关系等之外,还会详细地罗列出该应用程序所需的系统访问。程序员在进行应用软件开发时,需要通过设置该文件的uses-permission字段来显式地向Android系统申请访问权限。

版权说明:
本网站凡注明“公众IT 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
您可以扫描右侧微信二维码联系我们。
网站首页 关于我们 联系我们 合作联系 会员说明 新闻投稿 隐私协议 网站地图