返回首页   进站必读

1.17 chmod


1.17.1文件的权限

在Linux系统中使用的Ext文件系统中,支持文件的权限,用ls -l查看当前目录的文件权限。

$ls -l
-rwxr-xr-x 1 ymqqqqdx ymqqqqdx 7438 2011-09-02 15:08
a.out
drwxr-xr-x 2 ymqqqqdx ymqqqqdx 4096 2011-09-03 09:33 backup/
-rw-r--r-- 1 ymqqqqdx ymqqqqdx 3681 2011-09-02 17:49 chess.c
由图中我们可以看出这两个文件的权限是不一样的:
最前边的一位,可以看出backup/的前边有一个d,这代表它是一个目录,a.out和chess.c为一个-,这说是它们是普通文件。
后边有三位代表文件所有者的权限,分别为可读,可写,可执行,这说明a.out为一个可执行文件,chess.c为一个不可执行文件。
随后的三位表示同组用户所拥有的权限,最后的三位表示其它用户所拥有的权限。

1.17.2文字设定法

可以使用chmod who +|-|= 文件名来改变权限。
who可以是下述字母中的任一个或者它们的组合:

  • u 表示文件或目录的所有者
  • g 表示同组用户
  • o 表示其它用户
  • a 表示所有用户
  • mode的常用权限为以下几个:
  • r 可读
  • w 可写
  • x 可执行
  • $ls -l
    -rwxr-xr-x 1 ymqqqqdx ymqqqqdx 7438 2011-09-02 15:08
    a.out
    drwxr-xr-x 2 ymqqqqdx ymqqqqdx 4096 2011-09-03 09:33 backup/
    -rw-r--r-- 1 ymqqqqdx ymqqqqdx 3681 2011-09-02 17:49 chess.c
    $chmod -x a.out $ls -l -rw-r--r-- 1 ymqqqqdx ymqqqqdx 7438 2011-09-02 15:08 a.out
    drwxr-xr-x 2 ymqqqqdx ymqqqqdx 4096 2011-09-03 09:33 backup/
    -rw-r--r-- 1 ymqqqqdx ymqqqqdx 3681 2011-09-02 17:49 chess.c

    1.17.3数字设定法

    在chmod后边可以加上数字,000即代表不可读,不可写,不可执行
    011则代表不可读,可写,可执行。用二进制进行转换011为3,所以用chmod 333 a.out就可以将a.out的变为–rx-rx-rx权限。

    $ls -l
    -rwxr-xr-x 1 ymqqqqdx ymqqqqdx 7438 2011-09-02 15:08
    a.out
    drwxr-xr-x 2 ymqqqqdx ymqqqqdx 4096 2011-09-03 09:33 backup/
    -rw-r--r-- 1 ymqqqqdx ymqqqqdx 3681 2011-09-02 17:49 chess.c
    $chmod 333 a.out $ls -l --wx-wx-wx 1 ymqqqqdx ymqqqqdx 7438 2011-09-02 15:08 a.out
    drwxr-xr-x 2 ymqqqqdx ymqqqqdx 4096 2011-09-03 09:33 backup/
    -rw-r--r-- 1 ymqqqqdx ymqqqqdx 3681 2011-09-02 17:49 chess.c