一天一个Linux命令,chmod命令

chmod命令

Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。

语法

chmod [-cfvR] [--help] [--version] mode file...

参数

mode : 权限设定字串,格式如下 :

1
[ugoa...][[+-=][rwxX]...][,...]

###

其中:

  • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
  • + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
  • r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

其他参数说明:

  • -c : 若该文件权限确实已经更改,才显示其更改动作
  • -f : 若该文件权限无法被更改也不要显示错误讯息
  • -v : 显示权限变更的详细资料
  • -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
  • –help : 显示辅助说明
  • –version : 显示版本

实例

文件dong.txt当前的权限是文件拥有者可以读写权限,群组的人也具有读写的权限,其他人具有读的权限,

执行如下命令后,给所有人都赋予执行的权限。 chmod ugo+x dong.txt

1562331024159

执行 chmod o+w dong.txt 给其他人赋予写的权限。

1562331237253

执行 chmod -R a+w * 将当前目录下的所有文件及文件夹设置为可以执行的权限

1562331543618

创建两个文件 zhengzhou.txt 和 lanzhou.txt, 文件所有者具有读写的权限, 群组的人具有读的权限,其他人具有读的权限。

执行 chmod ug+w,o-r zhengzhou.txt lanzhou.txt 命令,赋予文件所有者和群组的人写的权限,其他人剥夺读的权限。

1562331931276

1562331952298

使用数字

r=4,w=2,x=1

  • 若要rwx属性则4+2+1=7;

  • 若要rw-属性则4+2=6;

  • 若要r-x属性则4+1=5。

执行chmod 777 gansu.txt 可以赋予所有人所有的权限。

可以利用数字的增减来达到控制权限的目的。

1562332298685

1562332310601