首页 » Linux » CentOS » Linux中修改文件目录权限命令chmod

Linux中修改文件目录权限命令chmod

 

chmod是一个用来改变文件或目录权限的命令;记得博主看黑客军团美剧的时候,第一集系统被入侵的时候,主角就使用过chmod命令。

当使用#ls -l或ll命令时,即可看到当前的文件目录的权限,-rwxrwxrwx即表示权限。

先说一下理论的东西,后面在说明整行字段的含义。

文件系统上的权限是指文件系统上的文件和目录的权限,文件系统上的权限主要针对三类对象(访问者)进行定义:

owner:属主,u
group:数组,g
other:其他,o

 

每个文件针对每类访问者都定义了三种权限:

r:readable 可读
w:writable 可写
x:executable 可执行

对于文件来说:

r:可用文件查看类工具读取此文件的内容
w:可以添加、编辑或者修改内容,但是不包含删除该文件
x:具有可以被系统执行的权限,文件是否能被执行就是由该权限来决定的

对于目录来说:

r:拥有此权限表示可以读取此目录的结构列表,也就是说可以查看该目录下的文件名和子目录名(ls查看)
w:可以在此目录中创建文件,也可以删除、重命名移动文件
x:具有进入此目录的权限

 

权限表示方法:

权限、二进制表示、八进制表示对应的表示方法如下:

---:000 0
--x:001 1
-w-:010 2
-wx:011 3
r--:100 4
r-x:101 5
rw-:110 6
rwx:111 7

 

chmod命令

修改文件或目录的权限,设置方式采用字母或数字代号;

参数

u:属主
g:属组
o:其他用户
a:表示三者全包括

+:增加权限
-:取消权限
=:唯一设定权限
-R:递归

下面来说下字段的含义,举个例子,使用ls -l命令:

drw-r--r--.  1 root root      970 Dec  3  2015 abc

第一块红色,第一列,用来表示这个文件的类型:

d:则是目录
-:则是文件
l:表示为连结档link file
b:表示为装置文件里面的可供存储的接口设备
c:表示为装置文件里面的串行端口设备,如键盘、鼠标

第二块:第二到四列,此处是rw-,表示属主权限

第三块:第五到七列,此处是r--,表示属组权限

第四块:第八到十列,此处是r--,表示其他的权限

第五块:这里是1,连接数位(count)

第六块:这里是root,属主

第七块:这里是root,属组

第八块:这里是970,是文件大小,单位字节

970 Dec  3  2015:是文件的最后修改时间

abc:文件名

除了这些属性外,还有个需要了解的,索引节点“ Inode”号,ls -i显示每个文件的Inode号,每个文件或者文件夹前都会出现一个唯一的“Inode”编号。

 

好了,下面来举一些例子来演示下:

使用数字方式修改权限:

上面已经列出了对应的数字,这里我们只管记住r对应4,w对应2,x对应1

修改读写权限就是4+2=6,修改读执行权限就是4+1=5,将-rwxr-x-wx转换成对应数字就是753。

-rw——- 对应数字就是600,只有所有者(属主)才有读和写的权限
-rwxr-xr-x 对应数字755,只有所有者(属主)才有读,写,执行的权限,组群和其它只有读执行权限
-rw-rw-rw- 对应数字666,每个人都有读写的权限

示例

修改abc文件权限为777。

#chmod 777 abc

修改abc文件,使abc文件属主(所有者)可读,属组可写,其他没有权限。

#chmod 420 abc

把abc目录下的文件全部设置为755权限

#chmod -R 755 /abc/

修改abc文件权限为所有人可读

#chmod ugo+r abc 或 #chmod a+r abc

修改abc文件权限为所有人可执行

#chmod ugo+x abc 或 #chmod a+x abc

修改abc文件属主为所有人可执行

#chmod u+x abc

修改abc文件属主属组有读写权限

#chmod ug+rx abc

 

取消abc目录下的所有文件可写权限

#chmod -R a-w /abc/

原文链接:Linux中修改文件目录权限命令chmod,转载请注明来源!

1