关于文件权限

August 01 2012 , Category: Linux

记得原来的时候是看过相关的内容的,但是没有去记忆,所以看到的时候还是会说:“啊,原来是这样的啊!”

-rw-r--r-- 1 root root 42304 Sep 4 18:26 install.log

其中第一个字符代表的是这个文件是“目录、文件或链接文件等”。如果是“d”即directory,是“l”则是linkfile,是“-”则是普通文件(若是b则是设备文件里面的可供存储的接口设备,c则是设备文件里面的串行端口设备)。后九个字符分别代表的是文件所有者权限、文件所属用户组的权限、其他人对此文件的权限(r即可读,w即可写,x即可执行)。

之后的数字代表的是文件的连接数;后两单词分别为文件所有者和文件所属用户组;43204即文件大小;之后便是文件最近修改日期和文件名。

平时对某些文件没有修改权限的时候,就经常会用到以下shell命令

chmod 770 a.c

chmod是改变文件权限的命令,这个简单(而chgrp则是改变文件所属用户组,chown是改变文件所有者的命令),但是770的含义我本来是不知道的- -!

原来,三个数字代表着三种身份:owner、group、others对于文件的权限。

其中,r对应4,w对应2,x对应1;那么7也就是有读写和执行的权限,770也就是对于owner和group有着读写和执行的权限,但是对于others没有相关权限,当然,你也可以让others有相关的权限:

chmod 777 a.c

还有就是关于chmod(chgrp&&chown)的一个比较重要的参数:-r(recursion)

比如对于一个目录而言,修改其所属用户组为users(存在这个用户组的前提下)

chgrp users test

那么在这个test目录下其他的文件或者子文件夹也要一律修改所属用户组的话添加-r参数就可以了,即

chgrp -r users test

支持作者 | Article licensed under CC BY-NC-SA 4.0