1、命令简介
chmod:改变文件或目录权限
2、命令用法
chmod [Options]... Mode [,Mode]... file... chmod [Options]... Numeric_Mode file... chmod [Options]... --reference=RFile file...
3、命令描述
chmod
根据mode
修改每个给定文件的权限,其中mode
描述了需要修改的权限。mode
可以用八进制数字或字母指定。hmod命令的英文原意是“change the permissions mode of a file”,我们简称为“change mode”,意为用来改变文件或目录权限的命令,但是只有文件的属主和超级用户root才能执行这个命令。有两种模式,一种是采用权限字母和操作符表达式;另一种是采用数字。
4、命令选项
-c | 若该文件权限确实已经更改,才显示其更改动作 |
-f | 若该文件权限无法被更改也不显示错误讯息 |
-v | 显示权限变更的详细资料 |
-R | 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更) |
5、数字mode
数字mode的格式是'augo'。
数字mode是从1到4个八进制数字(0-7),通过将这些位与值4、2和1相加得到。任何省略的数字都假定为前导零。第一个数字选择设置的用户ID(4),并设置组ID(2)和sticky(1)属性。第二个数字选择文件所属用户的权限:读(4)、写(2)、执行(1);第三个选择文件组中其他用户的权限,具有相同的值;第四个值用于不属于该文件组的其他用户,值相同。
6、使用示例
1)仅所有者读
$ chmod 400 sample.txt
2)仅限用户组读
$ chmod 040 sample.txt
3)任何其它人可读
$ chmod 004 sample.txt
4)仅所有者可写
$ chmod 200 sample.txt
5)仅用户组可写
$ chmod 020 sample.txt
6)任何其它人可写
$ chmod 002 sample.txt
7)仅所有者可执行
$ chmod 100 sample.txt
8)仅用户组可执行
$ chmod 010 sample.txt
9)任何其它人可执行
$ chmod 001 sample.txt
10)允许所有者和组和任何人的读许可。
$ chmod 444 sample.txt
11)允许所有者、组和任何人具有读权限
$ chmod 777 sample.txt
7、符号 mode
命令格式:
chmod [who] operator [permission] filename
who包含的选项及其含义:
u
文件属主权限。
g
属组用户权限。
o
其他用户权限。
a
所有用户(文件属主、属组用户及其他用户)。
operator包含的选项及其含义:
+
增加权限。
-
取消权限。
=
设定权限。
permission包含的选项及其含义:
r
读权限。
w
写权限。
x
执行权限。
s
文件属主和组set-ID。
t
粘性位*
。
l
给文件加锁,使其他用户无法访问。
u
,g
,o
针对文件属主、属组用户及其他用户的操作。
8、使用示例
1)拒绝所有人的执行权限
chmod a-x sample.txt
2)使一个文件可读和可写的组和其他
chmod go+rw sample.txt
3)用户/所有者可以执行一个shell脚本
chmod u+x samplescript.sh
4)允许所有人读、写和执行文件,并打开设置的group-ID
chmod =rwx,g+s samplescript.sh
5)设置所有人可读
chmod a+r sample.txt
6)将目前目录下的所有文件与子目录皆设为任何人可读取
chmod -R a+r *
7)只有该文件拥有者可以执行
chmod u+x sample.txt