Linux上的chmod命令

时间:2024-04-12 09:35:45

chmod 是一个常用的Unix和类Unix操作系统命令,用于修改文件或目录的权限。chmod 命令允许系统管理员或文件所有者定义文件或目录的访问权限,包括读取、写入和执行权限。这对于确保文件的安全性和保护用户数据非常重要。

chmod命令的基本语法

chmod [options] mode file
  • Options:可以是不同的选项,例如 -R 表示递归修改,即包括目录下的所有文件和子目录。
  • Mode:权限模式,通常包括以下几种形式:
    • 数字形式:用数字表示权限,如 777
    • 符号形式:用符号表示权限,如 u=rw,go=r

常用权限符号

  • u:文件所有者(user)
  • g:文件所属组(group)
  • o:其他用户(others)
  • a:所有用户

 chmod命令示例

1.使用数字形式改变文件权限 

  •  将文件 file.txt 设置为所有者可读写、组用户可读、其他用户只可读的权限:
chmod 644 file.txt

 2.使用符号形式修改文件权限

  • 将文件 example.sh 设置为所有者可读写执行、组用户可读执行、其他用户可读执行的权限: 
chmod u=rwx,g=rx,o=rx example.sh

 3.递归修改目录及文件权限(包括子目录)

  • 递归修改目录 mydir 及其所有文件和子目录的权限为所有者可读写执行、组用户可读执行、其他用户可读执行: 
chmod -R 755 mydir

 4.使用符号方式添加/移除权限

  • 给文件 data.txt 所有者增加写权限: 
chmod u+w data.txt
  •  移除文件 data.txt 组用户的执行权限:
chmod g-x data.txt

 在chmod命令中,权限模式的数字形式代表不同的权限。每个数字代表一个权限组合。以下是数字形式权限模式表示的具体含义:

  • 0:无权限
  • 1:执行权限(x)
  • 2:写权限(w)
  • 4:读权限(r)

组合权限值

  1. 读(r):4
  2. 写(w):2
  3. 执行(x):1

组合示例

  • 读和写:4 (读) + 2 (写) = 6
  • 读和执行:4 (读) + 1 (执行) = 5
  • 读、写和执行:4 (读) + 2 (写) + 1 (执行) = 7

每个权限组合对应的权限说明 

  • 0:无权限
  • 1:执行权限
  • 2:写权限
  • 3:写和执行权限
  • 4:读权限
  • 5:读和执行权限
  • 6:读和写权限
  • 7:读、写和执行权限

示例 

  • chmod 700 file.txt:文件所有者可读、写、执行,其他用户无权限。
  • chmod 644 file.txt:文件所有者可读、写,组用户和其他用户可读。
  • chmod 775 directory:目录所有者可读、写、执行,组用户和其他用户可读、执行。

使用这种数字形式可以快速指定文件或目录的权限,并且更容易理解每种权限对应的含义。