Linux chmod命令 – 改变文件或目录权限

在Linux系统中,每个文件和目录都有自己的权限属性,这些属性包括读、写、执行等权限。通常情况下,只有文件的所有者和管理员可以设置文件权限,而普通用户只能管理自己文件的权限。为了更好地控制文件的安全性,我们需要使用Linux系统中的chmod命令来修改文件或目录的权限属性。

语法格式

chmod命令的语法格式如下:

chmod [选项] 模式 文件名

其中,选项包括:

  • -R:递归操作,指定目录下的所有子文件/目录都进行权限设定
  • -v:查看执行过程详细信息
  • -c:改变文件权限成功后再输出成功信息
  • --help:显示帮助信息
  • --no-preserve-root:不特殊对待根目录,可以递归操作
  • --preserve-root:禁止对根目录进行递归操作
  • --reference:使用指定参考文件的权限
  • --version:显示版本信息

模式分为两种表达方式:

  1. 通过字母表达式表示权限:
    字符意义:
  • u:所有者(User)
  • g:所属组(Group)
  • o:其他人(Others)
  • a:所有人(All)

操作符号:

  • +:添加权限
  • -:去除权限
  • =:赋予权限

权限符号:

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

示例:

$ chmod u+rwx,go-rwx test.txt # 给文件所有者添加读写执行权限,其他人全部去掉权限
  1. 通过数字表达式表示权限:
    数字表达式是将每个权限值分别转换成二进制数,然后将三个二进制数串成一串,再将这个二进制数转换成八进制数。其中第一个二进制数代表所有者的权限,第二个二进制数代表所属组的权限,第三个二进制数代表其他人的权限。
    权限符号与数字之间的对应关系:
  • r:4
  • w:2
  • x:1

示例:

$ chmod 777 test.txt # 给文件所有人添加读写执行权限

图解-总结

修改文件slaves 修改文件权限_linux

首先我们来看这段表达式有几位组成?

10位

修改文件slaves 修改文件权限_二进制数_02

文件类型

用户

用户组

其他

-普通文件

rwx

rwx

rwx

d目录

l链接文件

r 全称 read 读取

w全称 write 写入

x全称 execute 执行

- 表示用户没有当前位置的权限

权限数字表达式

修改文件slaves 修改文件权限_运维_03

数字表达式rwx 421的特点每次除以2

即:4除以2等于2,2除以2等于1

每个角色最多拥有3个权限也就是rwx

每个角色最少拥有0个权限也就是---

下面是数字表达式rwx 421及其对应数字的表格:

rwx表达式

对应数字

— (无权限)

0

–x (可执行)

1

-w- (可写)

2

-wx (可写、可执行)

3

r-- (可读)

4

r-x (可读、可执行)

5

rw- (可读、可写)

6

rwx (可读、可写、可执行)

7

rwx表达式

对应数字

权限说明

r-- — ---

400

只读取

r-- — --x

401

读取和执行

r-- — -w-

402

读取和写入

r-- — -wx

403

读取、写入和执行

r-- — r–

404

只读取

r-- — r-x

405

读取和执行

r-- — rw-

406

读取、写入

r-- — rwx

407

读取、写入和执行

r-- -w- —

440

读取和写入

r-- -w- --x

441

读取、写入和执行

r-- -w- -wx

443

读取、写入和执行

实操演示

假设我们要给test.txt文件添加读取、写入和执行的权限,可以使用以下命令:

$ chmod u+rwx test.txt

我们还可以使用字母表达式来设置权限,比如将所有者和所属组的读取、写入和执行权限都去掉,其他人没有变化:

$ chmod ug-rwx test.txt

我们可以使用数字表达式来设置权限,比如将所有者、所属组和其他人的读取、写入和执行权限都添加上:

$ chmod 777 test.txt

chmod命令 – 改变文件或目录权限之间的区别

Linux系统中的chmod命令不仅可以修改文件的权限,也可以修改目录的权限。在对目录进行权限修改时,建议使用-R参数进行递归操作,以便将权限修改应用到目录本身以及目录下的所有子目录/文件。

此外,chmod命令还可以通过字母表达式和数字表达式两种方式来设置文件或目录的权限。字母表达式更直观易懂,适合初学者使用;而数字表达式更加灵活和精确,适合专业人士使用。

最后,在使用chmod命令修改文件或目录的权限时,需要注意权限的数字表示方式,以确保权限修改的正确性和稳定性。