chmod以数字形式改变文件权限

 Linux文件的三种身份和四种权限,三种身份分别为:

  1. u:文件的拥有者
  2. g:文件所属的群组
  3. o:其他用户

对于每个身份,又有四种权限,分别为:

  1. r:读取文件的权限(read)
  2. w:写入文件的权限(write)
  3. x:执行的权限(execute)
  4. s:特殊权限

  在Linux文件权限详解中我们知道Linux中有两种表示文件权限的方式,分别为数字以及符号表示方式。

chmod以数字形式改变文件权限

chmod 755 test.sh

  将755换算成字符形式,为rwxr-xr-x,也就是说文件的拥有者、所属群组以及其他用户都可以读取与运行test.sh这个文件,但是只有拥有者自己可以写入这个文件,也就是其他人无权修改test.sh这个文件。(当然root用户无此限制,想改谁就该谁,这也是一个体现root账号至高无上权力的体验!)

  通过数学形式改变文件的权限比较简单,只要实现算好需要给文件赋予的权限,然后调用chmod指令即可,调用形式为:

chmod 新的权限 文件列表

chmod以字符形式改变文件权限

chmod +x test.sh

  数学形式可以一次改变文件的所有三种身份的四种权限,而字符形式则更为灵活,可以给某个身份的某个权限单独进行设置,例如上面的指令就是给三种身份都赋予执行的权限,你也可以分开单独设置:

chmod u+x test.sh  只给拥有者加上可执行权限

chmod g+x test.sh  只给群组身份加上可执行权限

chmod o+x test.sh  只给其他人身份加上可执行权限

  以上三条指令综合在一起等价于上面的那一条指令,都是给所有身份都开启可执行权限的功能,你也可以像下面这样来操作:

chmod a+x test.sh

  这里的a就代表所有的3中身份!

  如果要去掉某个身份的某个权限,只需要将+变为-即可,例如去除其他人身份的可执行权限:

chmod o-x test.sh

  对于读取、写入等权限,按照以上方式多进行练习即可,chmod通过字符形式改变文件权限的操作见下表:

chmod u

g

o

a

+(加上)

-(减去)

=(设定)

r

w

x

文件或目录

  最后再来个综合的示例,以后类似的问题举一反三即可:

chmod u=rwx,g+rx,o-x test.sh
posted @ 2017-03-01 16:20  KylinStayHere  阅读(949)  评论(0编辑  收藏  举报