首页 >> android >>  

 

 

Android 系统文件权限设置、用数字代表文件权限

本文不是写android 系统文件权限的作用与原理,仅仅是普通设置与如何用数字权限而已。

更改系统文件权限众所周知必须先获取root权限,用rootexplore(R.E.文件管理器)更改文件权限非常方便。

当放入或更改某些系统文件时需要更改权限,内存卡里所有文件的权限都是777无法更改,所以某些文件放入系统替换首先将它放入系统任意位置修改权限后在移动或剪切到原位置替换。

文件该设什么权限,基本上系统里每个文件夹下的文件权限都是相同的,部分文件夹里的文件不相同,如/system/app下所有的权限都是644。

需要替换的文件设为与原文件一样,添加的文件一般与文件夹下其它文件一样。

       之前多点触控刚出来时,发在隔壁论坛的,现在也转过来当时翻译了关于2.2十点触控的某篇文章,里头有诸如:755, 644 权限的说法,貌似有不少童鞋不大了解,于是就搜搜查查了下。

因为这个是unix里头的说法,大家知道android是基于linux的,所以有了这个数字权限的说法。

权限数字说明:数字由来是:

 

文件权限

 

读(R)

 

 

写(W)

 

 

执行(X)

 

对应数字

 

4

 

 

2

 

 

1

 

 

用户

分组

其他

对应权限

r    w    x

r    w    x

r    w    x

数字相加

4    2    0

4    0    0

0    0    0

644

4    2   1

4    0    1

4    0    1

755

 

r即read 读的意思=4

w即write 写的意思=2

x即execute 执行的意思=1

 

- 代表权限没勾选=0

0代表---

1代表--x

2代表-w-

3代表-wx

4代表r--

5代表r-x

6代表rw-

7代表rwx

举例:644:

第一个数字代表:用户,第二个数字代表:分组, 第三个是数字代表:其他.

所以呢,644 权限:

用户:读  写  X

分组:读   X  X

其他:读   X  X

444 r--r--r--

600 rw-------

644 rw-r--r--

666 rw-rw-rw-

700 rwx------

744 rwxr--r--

755 rwxr-xr-x

777 rwxrwxrwx

4位以上的权限说明

比如类似:

chmod 06755 /system/xbin/su

这个涉及到linux中的文件和目录特殊权限:

一般用户若无特殊需求,不应该启用这些权限,避免安全方面出现严重漏洞,造成黑客入侵,甚至摧毁系统!!!

所以我们要ROOT才会用到这个,在android系统目录下打开权限(CM7版本下)可以看到最下还有三个选项,分别是:

Set UID , Set GID, Sticky

其中:

s或S(SUID,Set UID):可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源。

s或S(SGID,Set GID):设置在文件上面,其效果与SUID相同,只不过将文件所有者换成用户组,该文件就可以任意存取整个用户组所能使用的系统资源。

T或T(Sticky):/tmp和 /var/tmp目录供所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件。

因为SUID、SGID、Sticky占用x的位置来表示,所以在表示上会有大小写之分。

SUID的代表数字是4,比如4755的结果是-rwsr-xr-x

SGID的代表数字是2,比如6755的结果是-rwsr-sr-x

Sticky的代表数字是1,比如7755的结果是-rwsr-sr-t

加入同时开启执行权限和SUID、SGID、Sticky,则权限表示字符是小写的:

-rwsr-sr-t

如果关闭执行权限,则表示字符会变成大写:

-rwSr-Sr-T

Mfunz的weiweistudio有补充

        

6=4+2,即同时设置UID和GID,所以6755也就是 rwsr-sr-x

0:指定文件类型,“0” 表示该文件是一个普通文件。符号是 “-” (所创建的文件绝大多数是普通文件)

        所以

        0755、755、-rwxr-xr-x、rwxr-xr-x   表示的是同一个权限

        06755、6755、-rwsr-sr-x、rwsr-sr-x 表示的是同一个权限

 

更改权限需要获取root权限,权限设置方法:

第一种更改权限方法,用RE管理器(rootexplore)更改直观方便

主要说的是第二种方法,通过adb或超级终端用命令更改

如/system/abc.apk为例,命令如下:

su

busybox mount -o remount,rw /system

上行命令挂载/system为可读写,用RE管理器更改也行。

chmod 644 /system/abc.apk

更改整个文件下所有文件为相同的权限,如将/system/app下所有文件权限都设为644:

su

busybox mount -o remount,rw /system

chmod 644 /system/app/*

 

 

原文地址:http://www.tttabc.com/android/WenJianQuanXian.htm

转载参考:http://bbs.nduoa.com/forum.php?mod=viewthread&tid=142795&highlight=