文件权限 chmod

来源:互联网 发布:淘宝新手开直通车 编辑:程序博客网 时间:2024/06/17 08:52
文件权限语法:
chmod [who] [+ | - | =] [mode] 文件名
eg: 
chmod 777 *.*
-rw-rw-r--


解释:
u 表示“用户(user)”,即文件或目录的所有者。
 g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
 o 表示“其他(others)用户”。
 a 表示“所有(all)用户”。它是系统默认值。

操作符号可以是:

+ 添加某个权限。
 - 取消某个权限。
 = 赋予给定权限并取消其他所有权限(如果有的话)。

设置mode所表示的权限可用下述字母的任意组合:

r 可读。
 w 可写。
 x 可执行。

X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。

s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
 t 保存程序的文本到交换设备上。
 u 与文件属主拥有一样的权限。
 g 与和文件属主同组的用户拥有一样的权限。
 o 与其他用户拥有一样的权限。





-rw-rw-r--

一共有10位数

其中: 最前面那个 – 代表的是类型
中间那三个 rw- 代表的是所有者(user)
然后那三个 rw- 代表的是组群(group)
最后那三个 r– 代表的是其他人(other)

然后我再解释一下后面那9位数:

r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
- 表示相应的权限还没有被授予

其中:rwx也可以用数字来代替
r ————4
w ———–2
x ————1
- ————0

具体说就是:

(1)有只读权限的用户不能用cd进入该目录:还必须有执行权限才能进入。
(2)有执行权限的用户只有在知道文件名,并拥有读权利的情况下才可以访问目录下的文件。
(3)必须有读和执行权限才可以ls列出目录清单,或使用cd命令进入目录。
(4)有目录的写权限,可以创建、删除或修改目录下的任何文件或子目录,即使使该文件或子目录属于其他用户也是如此。


实例:
chmod o w xxx.xxx
其他人  写权限

chmod go-rw xxx.xxx
组群 ,其他人  删除掉读写权限

-rw——- (600) 只有所有者才有读和写的权限
-rw-r–r– (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx—— (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx–x–x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限





安卓中设置

/**
 * 更改指定文件或目录的读、写、执行权限
 *
 * @param mode
 *            需要修改的权限
 * @param file
 *            文件或文件夹
 */
public static void chModFile(String mode, File file) {
   try {
      if(!file.exists()){
         file.createNewFile();
      }
      Runtime.getRuntime().exec("chmod " + mode + " " + file);
   } catch (Exception e) {
      if (Log.D) {
         e.printStackTrace();
         Log.d(TAG, " -->> chModFile mode:" + mode + " file:" + file + " error:" + e.getMessage());
      }
   }
}

0 0
原创粉丝点击