chmod [权限值] [文件名]

  更改文件或目录的使用权限

  UNIX 系统对每一个文件或目录都记录有9个权限的属性值,前面3个是“所有者”的“读权限”、“写权限”、“执行权”,接着3个是“同一用户组的人”的“读权限”、“写权限”、“执行权”,最后3个是“其他人”的“读权限”、“写权限”、“执行权”。这点我们在介绍 ls 命令时提到过,用 ls -l 时,也可以清楚地看到。如图2-22所示。

Linux的多人多工命令_命令
图2-22 使用ls -l命令

  凡是有“读权限”,都会标示成“r”;有“写权限”,都会标示成“w”;有“执行权”,都会标示成“x”;如果没有该项权利,就会标上“-”。

  这些权限,就可以用 chmod 这个命令来设置和改变。

  我们要把上述9项权限化为3位数字来设置就很方便了。我们先看这一道命令是什么意思:

  chmod 755 mydoc

  mydoc是一个文件名称,那么 755 是什么意思呢?

  它的第一位数字是管“所有者”的权限的。

  它的第二位数字是管“同一用户组的人”的权限的。

  它的第三位数字是管“其他人”的权限的。

  每位数字都是照下面的算法得来的:

  如果赋予读权限,算4。

  如果赋予写权限,算2。

  如果赋予执行权,算1。

  请注意数字是可以累加起来的。也就是说,如果同时拥有读取和写权限,那就是4+2=6!

  这样您应该看得懂755的意思了吧?

  是的,它就是所有者有“读取”、“写入”、“执行”的三种权限,所以加起来是7。而同一用户组的人,和其他人都一样,只有“读取”、“执行”两种权限。所以我们猜测它的9项权限值排列起来应该是:

  rwxr-xr-x

  可以用 ls 查证一下对不对,如图2-23所示。

Linux的多人多工命令_Linux_02
图2-23 查证mydoc文件的权限

  这样您应该就会用数字表示来设置权限了吧!

  另外还有一种方法要背英文字,“所有者”叫做u;“同一用户组的人”叫做g;其他人叫做o。(就是 user, group, other的头一个字母。)

  chmod u-x mydoc

  减去所有者对 mydoc 文件的执行权限。

  chmod g+rw mydoc

  增设对同一用户组的人对 mydoc 文件的读取和写权限。

  chmod g-rwx,o-rwx mydoc

  除了所有者以外,同一用户组的人和其他人都不得再对 mydoc 文件读取、写入、执行。

  chmod a+rwx mydoc

  a就是所有人(all)。从此所有的人都可以对 mydoc 文件读取、写入、执行。

  练习:

  (1)请用数字表示法把您所创建的一个文字文件设置为:所有者可以读取和写入,但不能执行;同一用户组的人也是一样;而其他人只能读取。

  (2)请用英文字母法把您所创建的一个文字文件设置为:所有者可以读取、写入和执行,但同一用户组的人只能读取;而其他人一样也不行。