chmod加执行权限最常用安全方式是u+x;符号模式精准可控,数字模式755推荐用于脚本;目录需x才能cd,递归用-R;执行还需r权限、正确shebang、是文件且用./运行。

直接用 chmod 命令加执行权限(x),最常用也最安全的方式是只给文件所有者添加,比如:chmod u+x script.sh。如果需要更细粒度控制或批量设置,再选其他方式。
用符号模式精准添加
适合日常操作,语义清晰、不易出错:
-
chmod u+x filename:仅文件所有者获得执行权 -
chmod ug+x filename:所有者和所属组都能执行 -
chmod a+x filename:所有人(all)都可执行(慎用,尤其对敏感脚本) -
chmod o-x filename:移除其他用户的执行权限(常用于收窄权限)
用数字模式快速设定完整权限
三位八进制数分别对应所有者、组、其他用户的权限总和(r=4, w=2, x=1):
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
-
chmod 755 filename:推荐用于脚本——所有者可读写执行(7),组和其他人可读可执行(5) -
chmod 700 filename:仅所有者完全可控,适合私有工具或密钥相关脚本 -
chmod 644 filename:普通文本文件常用,无执行权限(注意:这不是执行权限设置,仅作对比参考)
给目录及其内容统一加执行权限
目录本身需要 x 权限才能进入(cd),子文件是否可执行则另算:
-
chmod +x dirname:只给目录加执行权限(允许进入) -
chmod -R u+x dirname:递归给目录内所有文件和子目录的所有者加执行权 -
chmod -R 755 dirname:递归设为标准安全配置(目录和可执行文件都适用)
加了权限还不能运行?检查这几个关键点
执行权限只是前提,缺一不可:
- 文件必须有读权限(r),否则系统无法加载内容来执行
- 脚本第一行需有正确的解释器声明,例如
#!/bin/bash或#!/usr/bin/env python3 - 确认是普通文件而非目录(
ls -l看首字符:-是文件,d是目录) - 运行时用
./filename,不能只输filename(除非在$PATH中)

















