Linux chmod 命令总结

发布于 2024-12-09 12:31:00 字数 3489 浏览 9 评论 0

chmod 命令主要用来修改文件权限,可以直接使用 man chmod 在终端上查看该命令的帮助手册。

查看文件权限

ls -l 命令可以查看当前目录下所有文件的访问权限,也可以查看指定文件。比如,查看当前目录中的 count.sh 文件的访问权限:

ls -l count.sh
-rwxr-xr-x@ 1 liujie26  672505530  84  3  7 20:35 count.sh
drwxr-xr-x  23 liujie26  672505530   782B  4 15 10:32 Blog

上面打印的文件信息中每一部分所代表的含义,分别对应如下解释:

文件类型和访问权限 文件数量 所属用户 所在群组 文件大小 修改日期(月 日 时 分) 文件名称

第一部分 -rwxrwxrwx 具体解释一下:

  • - :代表文件类型, - 符号表示该文件是非目录类型;
  • d 符号表示目录类型;
  • 末尾的 @ 符号表示文件拓展属性,属于文件系统的一个功能

后面九个字母 rwxr-xr-x 分为三组(rwx、r-x、r-x),从前到后每组分别对应所属用户(user)、所属用户所在组(group) 和其他用户(other) 对该文件的访问权限;

  • r:可读权限
  • w:可写权限
  • x:可执行权限

每组中的三个字符 rwx 分别表示对应用户对该文件拥有的可读、可写、可执行权限,没有相应权限则使用 - 符号替代。

修改访问权限

通过对查看权限命令的学习,我们可以知道,修改文件访问权限应该包括操作对象、操作类型(添加或取消对应权限)、具体权限和具体文件名称,即:

chmod 用户+操作+权限 文件

用户部分:

  • 使用字母 u 表示文件所有者(user)
  • g 表示用户所在群组(group)
  • o 表示其他用户(other)
  • a 表示全部用户(all,包含前面三种用户)

操作部分:

  • + 符号表示增加权限
  • - 符号表示取消权限
  • = 符号表示赋值权限

权限部分:

  • r 符号表示可读权限(read)
  • w 符号表示可写权限(write)
  • x 符号表示可执行权限(execute)

文件部分:即具体操作哪个文件的权限,如果不指定文件名,表示操作对象为当前目录下的所有文件。

下面来看个例子:

// 表示给用户所在群组和其他用户添加 count.sh 文件的写权限
chmod go+w count.sh
// 查看修改后的文件访问权限,发现文件访问权限已经按照要求发生变化
ls -l count.sh
-rwxrwxrwx@ 1 liujie26  672505530  84  3  7 20:35 count.sh

// 表示给用户所在群组和其他用户删除 count.sh 文件的执行权限
chmod go-x count.sh
// 查看修改后的文件访问权限,发现文件访问权限已经按照要求发生变化
ls -l count.sh
-rwxrw-rw-@ 1 liujie26  672505530  84  3  7 20:35 count.sh

在看一个复杂一点的操作,可以同时使用多种操作符添加和取消权限,并且可以使用 , 符号同时对不同用户范围修改权限,比如:

// 表示给用户所在群组和其他用户添加 count.sh 文件的执行权限,并删除其他用户 count.sh 文件的写权限
chmod g+x,o+x-w count.sh
ls -l count.sh
-rwxrwxr-x@ 1 liujie26  672505530  84  3  7 20:35 count.sh 

使用数字表示权限部分

除了字母表示外,还可以使用数字表示权限部分的读、写、可执行权限类型。数字和权限类型的对应关系,可以从这张图中直观地看出来:

  • 1:表示可执行权限
  • 2:表示可写权限
  • 4:表示可读权限

每种类型数字相加所得到的值表示交叉部分的公共类型。

这样的话,使用三个数字便可以分别代表三种不同用户类型的权限修改结果。比如,修改所有用户的访问权限均为可读可写可执行(rwx) 的话,这样使用即可:

chmod 777 count.sh
ls -l count.sh
-rwxrwxrwx@ 1 liujie26  672505530  84  3  7 20:35 count.sh

三个数字从前到后分别表示 u、g、o 三种用户类型的访问权限,使用时按需修改。

需要注意:有时候我们可能需要递归修改目录文件及其子目录中的文件类型,这时可以使用 -R 选项。

chmod +xchmod u+x 的区别

chmod +x 等价于 chmod a+x 是一样的,一般没有明确要求,可以就用 chmod +x

linux 下不同的文件类型有不同的颜色:

  • 蓝色表示目录
  • 绿色表示可执行文件
  • 红色表示压缩文件
  • 浅蓝色表示链接文件
  • 灰色表示其它文件

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

长梦不多时

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

马化腾

文章 0 评论 0

thousandcents

文章 0 评论 0

辰『辰』

文章 0 评论 0

ailin001

文章 0 评论 0

冷情妓

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文