chmod 命令详解
Linux 系统中文件调用的权限分为三级:文件拥有者(u)、群组(g)、其他(o)。用chmod就可以更改文件的权限。chmod 是一个相当灵活的命令,对同一个文件的权限的修改可以用多种风格的命令格式来实现。
方式一:
语法格式: chmod [-vR] mode 文件名
参数说明:
- mode 权限设置字串,格式为[ugoa] [+-=] [rwx]
- u 表示文件的拥有者
- g 表示与此文件拥有者属于一个组群的人
- o 表示其他人
- a 表示包含以上三者即文件拥有者(u)、群组(g)、其他(o)
- + 表示增加权限
- - 表示取消权限
- = 表示唯一设置权限
- r 表示有读取的权限
- w 表示有写入的权限
- x 表示有执行的权限
- -v 显示权限改变的详细资料
- -R 表示对当前目录下的所有文件和子目录进行相同的权限更改
例:
我们要将当前目录下name这个文件的权限修为所有用户拥有该文件的读取、写入、执行的权限。
$ chmod a+rwx name
或者使用
$ chmod ugo+rwx name
命令不一样,但执行后的效果是一样的。
方式二:
语法格式: chmod [-vR] [No] 文件名
参数说明:
- No 三位代表相应权限的数字
- -v 显示权限改变的详细资料
- -R 表示对当前目录下的所有文件和子目录进行相同的权限更改
可能这种方式对于初学者来说有一定的难度,但这种方法学会后在更改文件权限就变得非常的简单。相信通过我的介绍大家会掌握种方法的:)
首先了解一下读取(r)、写入(w)、执行(x)相应的数字编号,如下图所示
r(读取) | w(写入) | x(执行) |
---|---|---|
4 | 2 | 1 |
如果你记住了上图所示的数字和对应的权限就往下边看
刚才已经说过了,[No]参数 是三位代表相应权限的数字。从左向右,第一位数学代表文件拥有者(u)的权限、群组(g)的权限、其他(o)的权限。每一个数字就对应该级用户拥有的权限即为rwx相应的数字之和。这样说可能大家不是很明白,我画了一张表帮助大家了解
拥有者(u) | 群组(g) | 其他(o) | 数字表示 |
---|---|---|---|
r w x | r w x | r w x | rwx 之和 |
4 2 1 | 4 2 1 | 4 2 1 | 777 |
4 2 1 | 4 0 1 | 4 0 1 | 755 |
4 2 1 | 4 2 1 | 4 0 0 | 774 |
4 2 1 | 0 0 0 | 0 0 0 | 700 |
如上图可以看出来如果是所有用户拥有该文件的读取、写入、执行的权限就是拥有者(u)的权限(4+2+1=7)群组(g)的权限(4+2+1=7)其他(o)的权限(4+2+1=7即为777。注意:如果没有读取的权限则”r”相应的数字编号就为”0″,写入(w)、执行(x)同理。
例:
就用刚才方式一的例子,我们要将当前目录下name这个文件的权限修为所有用户拥有该文件的读取(r)、写入(w)、执行(x)的权限。回顾一下方式一的命令格式。
$ chmod a+rwx name
方式二的命令
$ sudo chmod 777 name
可以看出使用方式二的命令格式简洁明了
如果要让当前目录下ownlinux这个文件的权限修为该文件的拥有者(u)有该文件的读取(r)、写入(w)、执行(x)的权限,群组(g)和其他(o)的用户只有读取(r)和执行(x)的权限,运行以下命令:
$ chmod 755 name
相信通过我的介绍大家都已经对chmod这个命令有一定的了解了吧。我觉得方式二的命令风格一但了解了就很容易掌握,而且方式二的命令风格简单明了。