200字
chmod
2025-10-10
2025-10-10

"Change mode" 的缩写,是一个用于修改文件或目录权限的命令行工具。

该命令通过调整文件的读(r)、写(w)、执行(x)权限,控制不同用户(所有者、所属组、其他用户)对文件的访问权限,是Linux系统中文件安全管理的核心命令。

 chmod [选项] <权限模式> <文件/目录1> <文件/目录2> ...

权限模式有两种表示方式:

  • 符号模式:通过 u(所有者)、g(所属组)、o(其他用户)、a(所有用户)结合 +(添加)、-(移除)、=(设置)和 r(读)、w(写)、x(执行)表示,例如 u+x

  • 数字模式:用3位数字(0-7)分别表示所有者、所属组、其他用户的权限,其中 r=4w=2x=1,例如 755 表示 rwxr-xr-x

常用选项

  • -R--recursive:"recursive",递归修改目录及其子目录中所有文件的权限,例如 chmod -R 755 docs/ 递归设置 docs/ 目录下所有内容的权限。

  • -f--silent:"force",强制操作,不显示错误信息(如忽略无法修改的文件),例如 chmod -f 644 *.txt 强制修改文本文件权限且不报错。

  • -v--verbose:"verbose",显示权限修改的详细过程,例如 chmod -v u+x script.sh 输出 mode of 'script.sh' changed from 0644 (rw-r--r--) to 0744 (rwxr--r--)

  • --reference=<参考文件>:"reference",以参考文件的权限为标准修改目标文件权限,例如 chmod --reference=template.conf new.conf 使 new.conftemplate.conf 权限一致。

权限模式说明

符号模式

数字模式

含义(所有者/所属组/其他用户)

示例场景

u=rwx,g=rx,o=rx

755

所有者可读可写可执行,组和其他用户可读可执行

可执行程序、脚本、目录

u=rw,g=r,o=r

644

所有者可读可写,组和其他用户只读

普通文件、配置文件

u=rwx,g=,o=

700

仅所有者有全部权限,组和其他用户无任何权限

私人数据、密钥文件

u=rwx,g=rwx,o=

770

所有者和组有全部权限,其他用户无权限

团队共享目录

参考示例

  • 示例1:为脚本添加执行权限 执行 chmod u+x install.sh,为所有者(u)添加(+)执行权限(x),使 install.sh 可直接运行(无需 sh install.sh)。

  • 示例2:设置文件为只读(除所有者外) 执行 chmod 644 report.pdf,所有者可读可写(6=4+2),组和其他用户只读(4),适合共享但不允许修改的文档。

  • 示例3:递归设置目录及内容权限 执行 chmod -R 755 /var/www/html/,递归修改网站目录及其所有子文件、子目录的权限,确保Web服务器可读取执行,所有者可修改。

  • 示例4:移除组和其他用户的写权限 执行 chmod go-w data.csv,从组(g)和其他用户(o)中移除(-)写权限(w),防止他人修改重要数据文件。

  • 示例5:复制参考文件的权限 执行 chmod --reference=config.example config.ini,使 config.ini 拥有与 config.example 相同的权限,确保配置文件权限一致。

  • 示例6:为所有用户添加读权限 执行 chmod a+r shared.txt,为所有用户(a)添加读权限(r),使文件可被系统中所有用户查看。

  • 示例7:在脚本中批量设置权限 脚本中执行:

     # 为所有.sh文件添加执行权限
     chmod u+x *.sh
     # 为数据文件设置严格权限
     chmod 600 *.dat
     # 为日志目录设置递归权限
     chmod -R 750 logs/

    批量标准化文件权限,适合部署脚本中统一权限配置。

  • 示例8:禁止所有用户执行某文件 执行 chmod a-x dangerous.sh,移除所有用户的执行权限,防止误运行危险脚本。

注意

  1. 目录必须拥有执行权限(x)才能被进入(cd),即使有读权限也无法进入无执行权限的目录。

  2. 修改权限需满足:要么是文件所有者,要么拥有 root 权限(使用 sudo)。

  3. 谨慎使用 chmod -R 777(所有用户有全部权限),可能导致严重安全风险(如被恶意修改文件)。

评论