Linux学习历程——Centos 7 chmod命令

时间:2022-07-30 17:02:08

一、命令介绍

chmod 命令,是Linux管理员最常用的命令之一,用于修改文件或目录的访问权限。

Linux系统中,每一个文件都有文件所有者和所属群组,并且规定文件的所有者,所属群组,以及其他人队问价有读取(r), 可写(w),执行(x)等权限,

亦可分别用数字4、2、1 表示。

文件的可读、可写、可执行权限可以简写为rwx,也可以使用数字7表示(4+2+1)。

权限设定字符串格式如下:

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

其中

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

参数

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

----------------------------------------------------------------------------------------------------

二、实例

使用chmod命令修改文件 1 访问权限,使所有者,群组,以及其他人都有rwx权限。

chmod  ugo+rwx 1

Linux学习历程——Centos 7 chmod命令

chmod 777  1

Linux学习历程——Centos 7 chmod命令

如果我们想要所有人都具有文件2的rwx权限,可以使用

chmod a+rwx 2

Linux学习历程——Centos 7 chmod命令

我们想要在文件2现有权限的基础上修改文件所有者及所属群组具有rwx权限,而其他人只具有r权限。

chmod ug=rwx  o-wx 2

Linux学习历程——Centos 7 chmod命令

我们新建一个文件3,使其具有同文件2相同的权限

chmod 774 3 

Linux学习历程——Centos 7 chmod命令

我们新建一个目录new,并在目录中新建文件1 和 文件2 .如果要修改new目录和目录中的所有文件权限为777,这时我们九需要使用 R参数。

chmod -Rf  777 new 

Linux学习历程——Centos 7 chmod命令

--------------------------------------------------------------------------------------------------------------------------

三、总结

chmod命令使Linux管理员最常用的命令之一,可见他对于Linux系统管理相当重要。

目录的读写权限和文件的读写权限区别很明显,前者是可以列出目录下的文件和创建新文件,后者就是读取文件的内容和向文件写入。对于执行权限的区别我的理解是

如果对目录没有执行权限,但是对目录下的文件有执行权限,那么相当于对该文件也没有权限

如果对目录有执行权限,但是目录下的文件没有执行权限,相当于对该文件也没有权限

所以要执行一个目录下的文件,必须目录和文件都具有执行权限。

文章不当之处,望指正。