命令介绍
- 命令名称:chmod
- 命令原型:change mode
- 命令所在路径:/bin/chmod
- 执行权限:系统管理员及文件所有者
- 功能:更改文件或目录访问权限
权限
文件的权限可以分为3种:
-
- r : read 读取权限 当作用于文件时,r就代表被读取的权限;但如果read权限作用于文件夹就变成了读取文件夹内的内容了,主要是浏览目录的权限。
-
- w : write 写入权限 当write权限作用于文件和文件夹也有着不同的反应,当文件没有w权限时,此文件只是一个只读文件,此时文件只能读取不能写入;当为文件夹时,如果没有w权限,这个文件就只能看到里面的文件,但是不能对此文件夹里的文件进行修改、增加、删除的权限。
-
- x : excute 执行权限 代表文件的可执行权限,比如命令,如果没有x权限它就失去了执行的权限,就会发生没有权限的问题。但它如果是一个文件夹,就代表能否进入文件夹的权限。
linux的权限有这三种类型,并且针对不同的用户也有着不同的权限。如上图所示,分别是 所有者(u user)
所属组(g group)
其他人(o other)
基本通过字面意思也能理解权限的划分。
为了更清晰的配置,linux采用了数字表示法,即使用不同的数字来表示不同的权限,由这三个权限所对应的数字都只会是不一样的数字,不会造成混淆。
分析一下我们创建的 test.txt
文件,- rw- r-- r-- ,正如我们之前所说,权限一共有3组9个字符。第一个字符是特殊的字符标识,用于标志特殊类型。根据上面的数字表示法,我们可以很快得出 test.txt
文件对于不同使用者的具体权限分配。
所有者,拥有读取和写入的权限,r + w = 6
所属组,仅能读取文件,无法对文件进行写入操作,r = 4
其他人,在此文件中其他人与所属组权限相同,都只是能对文件进行读取,无法写入,所以也是 r = 4
那么将每个部分的数字组合在一起就是 644
使用
chmod [{u g o a} {+ - =} {r w x} | mode = 777 ] [文件或目录]
chomod有两种使用方法,第一种是使用字符的方式表示权限的更改;第二种则是使用八进制的方式表示权限
参数 :
- -R:对操作目录下的所有文件及子目录进行递归权限修改操作
- -v:显示权限更改的详细信息
符号
信息
字符表示相对来说比较清晰,针对不同的角色可以对应的更改权限
u g o上面都已经说到过,a 代表 all 意思为这三者都是。
示例
将可执行文件 shell.sh
为拥有者添加执行权限
chmod u+x shell.sh
只允许 test.txt
文件拥有者读取此文件
chmod g-r,o-r test.txt
数字
信息
使用方式更简单,只需要用数字来表示相应的权限即可
没有增加和删除的功能,效果只能是等于
示例
在保留原权限的基础上,任何人都可以执行 shell.sh
文件
chmod 755 shell.sh
允许 test.txt
文件所有组对它进行修改操作
chmod 664 test.txt