chmod--改变文件或目录的访问权限

来源: LUPA开源社区
发布时间: 2007-07-24 16:05 版权申明

字体:


文章来源于http://www.lupaworld.com
chmod

  1.作用

  chmod命令是非常重要的,用于改变文件或目录的访问权限,用户可以用它控制文件或目录的访问权限,使用权限是超级用户。

  2.格式

  chmod命令有两种用法。一种是包含字母和操作符表达式的字符设定法(相对权限设定);另一种是包含数字的数字设定法(绝对权限设定)。

  (1)字符设定法

  chmod [who] [+ - =] [mode] 文件名

  ◆操作对象who可以是下述字母中的任一个或它们的组合

  u:表示用户,即文件或目录的所有者。

  g:表示同组用户,即与文件属主有相同组ID的所有用户。

  o:表示其它用户。

  a:表示所有用户,它是系统默认值。

  ◆操作符号

  +:添加某个权限。

  -:取消某个权限。

  =:赋予给定权限,并取消其它所有权限(如果有的话)。

  ◆设置mode的权限可用下述字母的任意组合

  r:可读。

  w:可写。

  x:可执行。

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

  s:文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。

  t:保存程序的文本到交换设备上。

  u:与文件属主拥有一样的权限。

  g:与和文件属主同组的用户拥有一样的权限。

  o:与其它用户拥有一样的权限。

  文件名:以空格分开的要改变权限的文件列表,支持通配符。

  一个命令行中可以给出多个权限方式,其间用逗号隔开。

  (2) 数字设定法

  数字设定法的一般形式为:

  chmod [mode] 文件名

  数字属性的格式应为3个0到7的八进制数,其顺序是(u)(g)(o)文件名,以空格分开的要改变权限的文件列表,支持通配符。

  数字表示的权限的含义如下:0001为所有者的执行权限;0002为所有者的写权限; 0004为所有者的读权限;0010为组的执行权限;0020为组的写权限;0040为组的读权限;0100为其他人的执行权限;0200为其他人的写权限;0400为其他人的读权限;1000为粘贴位置位;2000表示假如这个文件是可执行文件,则为组ID为位置位,否则其中文件锁定位置位;4000表示假如这个文件是可执行文件,则为用户ID为位置位。

  3.实例

  如果一个系统管理员写了一个表格(tem)让所有用户填写,那么必须授权用户对这个文件有读写权限,可以使用命令:

  #chmod 666 tem

  上面代码中,这个666数字是如何计算出来的呢?0002为所有者的写权限,0004为所有者的读权限,0020为组的写权限,0040为组的读权限,0200为其他人的写权限,0400为其他人的读权限,这6个数字相加就是666(注以上数字都是八进制数)。

  tem文件的权限是-rw-rw-rw-,即用户对这个文件有读写权限。

  如果用字符权限设定使用下面命令:

  #chmod a =wx tem
文章来源于http://www.lupaworld.com

声明:LUPA开源社区刊登此文只为传递信息,并不表示赞同或者反对。

查看全部评论(0)我来说两句 直接向LUPA提出您的宝贵建议

-5 -3 -1 - +1 +3 +5