Linux系统下chmod使用方法

chmod 是 Linux/Unix 系统中用来修改文件或目录权限的命令。它通过三种权限(读、写、执行)来设置文件的访问权限,可以用符号方式或数字方式来表示。

1. 基本概念

  • r: 读权限 (Read)

  • w: 写权限 (Write)

  • x: 执行权限 (Execute)

2. 文件权限模式

Linux 系统中每个文件都有三个用户类别:

  • u: 用户 (User) – 文件的所有者

  • g: 用户组 (Group) – 文件所属的用户组

  • o: 其他用户 (Other) – 除文件所有者和组外的其他用户

3. 使用符号方式设置权限

chmod [who][operator][permissions] [file]
  • who: 指定用户类别,u = 用户, g = 组, o = 其他用户, a = 所有用户(默认)

  • operator: + 增加权限,- 删除权限,= 设置权限

  • permissions: 权限可以是 rwx

示例:

  1. 给文件 file.txt 增加用户的写权限:

    chmod u+w file.txt
    
  2. 移除文件 file.txt 对其他用户的执行权限:

    chmod o-x file.txt
    
  3. 设置文件 file.txt 的权限为:所有人都可以读写执行:

    chmod a+rwx file.txt
    

4. 使用数字方式设置权限

权限用一个三位数字来表示,每一位分别表示用户、组和其他用户的权限。数字是根据权限的不同组合来计算的:

  • r = 4

  • w = 2

  • x = 1

数字的加法方式:

  • 7 (4 + 2 + 1) = 读、写、执行权限

  • 6 (4 + 2) = 读、写权限

  • 5 (4 + 1) = 读、执行权限

  • 4 = 只读权限

  • 3 (2 + 1) = 写、执行权限

  • 2 = 只写权限

  • 1 = 只执行权限

  • 0 = 无权限

示例:

  1. 设置文件 file.txt 的权限为:用户可读写执行,组和其他用户只能读取:

    chmod 744 file.txt
    

    解释:用户 7(rwx),组 4(r–),其他用户 4(r–)

  2. 设置文件 file.txt 的权限为:所有人都可以读写执行:

    chmod 777 file.txt
    

5. 递归修改目录权限

要递归地修改目录及其中所有文件的权限,可以使用 -R 选项:

chmod -R 755 /path/to/directory

这将为目录及其下所有文件和子目录设置权限。

6. 查看文件权限

使用 ls -l 命令查看文件或目录的权限:

ls -l file.txt

输出示例:

-rwxr-xr-x 1 user group 4096 Apr 26 12:00 file.txt

权限部分的解释:

  • -:表示文件类型(这里是普通文件)

  • rwx:用户(所有者)权限(可读、可写、可执行)

  • r-x:组权限(可读、不可写、可执行)

  • r-x:其他用户权限(可读、不可写、可执行)

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享