当前位置: 首页 > news >正文

Linux 【01- chmod命令超详细教程】

Linux chmod 超详细完整教程

一、基础概念:Linux 文件权限三角色

Linux 每个文件/目录权限分为三类用户,权限互不干扰:

  1. u = user:文件所有者(创建文件的用户)
  2. g = group:文件所属用户组
  3. o = other:其他所有人(既不是所有者、也不在用户组)
  4. a = all:u+g+o 全部用户

三种权限标识

符号名称文件作用目录作用
r读(read)查看文件内容列出目录内文件列表(ls)
w写(write)修改、覆盖、删除文件新增/删除/重命名目录内文件
x执行(execute)运行脚本/二进制程序进入目录(cd)、访问内部文件

关键区别:目录没有x权限,就算有r也无法读取里面文件;目录w权限可以删文件,和文件本身权限无关。

二、查看权限:ls -l

执行ls -l查看文件权限示例:

-rwxr-xr-- 1 root test 123 Jul 1 10:00 run.sh

拆解权限段-rwxr-xr--

  1. 第1位:文件类型-普通文件d目录l软链接
  2. 2~4位 u(所有者):rwx= 读+写+执行
  3. 5~7位 g(用户组):r-x= 读+执行,无写
  4. 8~10位 o(其他人):r--= 仅读

三、chmod 两种用法:符号模式 / 数字八进制模式

方式1:符号权限模式(直观,适合微调)

语法:

chmod[角色][操作符][权限]文件/目录
  1. 角色:u/g/o/a
  2. 操作符:
    • +:增加权限
    • -:移除权限
    • =:直接赋值权限(覆盖原有)
  3. 权限:r/w/x
常用示例
# 给所有者增加执行权限chmodu+x test.sh# 移除其他用户写权限chmodo-w test.sh# 给组和其他人添加读权限chmodg+r,o+r test.sh# 所有人赋予读执行,清除所有写权限chmoda=r-x test.sh# 仅所有者读写,组和其他人只读chmodu=rw,g=r,o=r test.txt# 所有用户增加执行权限chmoda+x *.sh

方式2:八进制数字模式(最常用、简洁)

权限对应数值
  • r = 4
  • w = 2
  • x = 1
    权限相加得到单个角色数字,三位数字依次对应u g o
数字权限组合符号等价
0无任何权限
1–x仅执行
2-w-仅写
3-wx写+执行
4r–仅读
5r-x读+执行
6rw-读+写
7rwx读写执行
计算示例
  1. 755
    • u=7(rwx)、g=5(r-x)、o=5(r-x) → 程序/目录标准权限
  2. 644
    • u=6(rw-)、g=4(r–)、o=4(r–) → 普通文件标准权限
  3. 777
    • 全部读写执行,生产环境禁止使用,极度不安全
  4. 600
    • 仅所有者读写,密钥、隐私文件专用
数字模式命令示例
# 普通文本文件标准权限chmod644info.txt# 脚本/程序标准权限chmod755startup.sh# 私密密钥文件,仅自己可读可写chmod600id_rsa# 目录全开(慎用)chmod777temp/# 批量修改当前目录所有sh脚本权限chmod755*.sh

四、递归修改目录权限 -R 参数

目录内部所有子目录、文件同步修改权限,必须加 -R

# 递归给网站目录全部755权限chmod-R755/home/www# 递归移除所有其他人写权限chmod-Ro-w /data/logs# 符号模式递归增加执行权限chmod-Ra+x scripts/

⚠️ 注意:不要随便chmod -R 777,极易造成安全漏洞。

五、特殊权限(SUID / SGID / Sticky粘滞位)

1. 三位数字扩展为四位权限

第一位特殊权限:

  • 4 = SUID
  • 2 = SGID
  • 1 = Sticky(粘滞位)
    完整格式:chmod 特殊位ugo,如4755
SUID (4xxx) 二进制文件专用

程序运行时临时拥有文件所有者权限
示例:passwd命令权限4755

chmod4755/usr/bin/mycmd
SGID (2xxx) 目录/文件
  • 文件:运行时拥有文件组权限
  • 目录:新建文件自动继承目录所属组
chmod2775/shared/groupdir
Sticky粘滞位 (1xxx) 公共目录

目录内文件仅文件所有者能删除,典型/tmp

chmod1777/tmp

查看特殊权限

ls -l权限位会出现 s/t 标识:

  • SUID:所有者x位变为s
  • SGID:组x位变为s
  • Sticky:其他x位变为t

六、目录 vs 文件 权限最佳实践

1. 普通静态文件(txt/html/js/css)

推荐:644

chmod644*.html

2. 可执行脚本/程序(sh/python二进制)

推荐:755

chmod755run.sh

3. 隐私文件(密钥、证书、数据库配置)

推荐:600

chmod600~/.ssh/id_rsachmod600config/db.ini

4. 普通业务目录

推荐:755

chmod755/project

5. 多人共享协作目录

推荐:2770(SGID,同组可读写)

chmod2770/team/share

6. 公共临时目录(任何人可写,只能删自己文件)

推荐:1777

chmod1777/public/tmp

七、常见实用场景命令

  1. 批量修改所有文件为644,目录为755(网站常用)
# 文件统一644find/www-typef-execchmod644{}\;# 目录统一755find/www-typed-execchmod755{}\;
  1. 只给脚本添加执行权限,其他文件不变
find./-name"*.sh"-execchmodu+x{}\;
  1. 禁止任何人写入日志目录
chmod-Rgo-w /var/log
  1. 移除所有文件SUID高危权限(服务器安全加固)
find/-perm-4000-typef-execchmodu-s{}\;

八、常见坑与注意事项

  1. 目录缺少x权限无法进入
    例:chmod 644 testdir无x,ls能看到目录,但cd进去报错。目录最低权限建议755。

  2. 777极度危险
    任何用户都能修改、删除文件,线上生产环境严禁使用。

  3. -R递归慎用
    不要执行chmod -R 644 /,会把系统目录执行权限全部抹除,系统直接崩溃。

  4. 软链接修改权限无效
    chmod 作用于链接指向的真实文件,而非链接本身。

  5. root用户不受权限限制
    root无视rwx权限,可读写删除任意文件。

九、快速记忆总结

  1. 数字模式优先:文件644、脚本755、密钥600、目录755
  2. 符号模式适合临时加减权限:u+xo-w
  3. 修改文件夹内部全部内容必须加-R
  4. 四位数字首位控制SUID/SGID/粘滞位
  5. 目录x权限是进入目录的必要条件
http://www.gsyq.cn/news/1620997.html

相关文章:

  • 【观止·诗史汇 HarmonyOS 实战系列 10】文试默写:从诗词内容包动态生成练习题
  • C++20:理解Concepts:C++泛型编程
  • 6DOF IMU与PIC18微控制器的运动追踪系统设计
  • 如何用extract-video-ppt实现3倍效率提升:视频内容智能提取的终极指南
  • AiToEarn 多平台接入架构深度分析
  • 终极指南:3步使用免费工具找回遗忘的压缩包密码
  • 终极原神抽卡记录导出指南:免费永久保存你的祈愿数据
  • 15A无刷电机FOC控制方案设计与实现
  • 多卡通信优化,RCCL 在 AMD 集群中的配置要点
  • 高效解密微信聊天记录:专业数据恢复完整指南
  • Java工程师转型大模型开发:120天实战指南
  • 2026中国制造业精益白皮书哪家专业
  • 如何获客拉新?
  • LED矩阵控制:IS31FL3731与PIC18LF2458的创意开发指南
  • 嵌入式高精度计时系统设计与优化实践
  • 车友必备车载神器合集!精简导航、免费音乐、全能车联、日程服务等
  • rust语言学习笔记(指针六)Cell<T>(内部可变(非指针))
  • 基于Si4731和STM32的数字收音机DIY方案
  • ASM330LHH与STM32F302VC运动跟踪系统设计与优化
  • 基于Si4732与ARM Cortex-M4的专业级收音机设计
  • EM3080-W与MK64FN1M0VDC12的条形码识别系统设计与优化
  • 亚洲基层AI疫情预测系统落地实战:轻量模型+边缘部署+人机协同
  • 案例纪要:某工程设计企业图纸自动签名与批量开票RPA项目
  • 终极GPU内存检测神器:5分钟掌握MemtestCL完整使用指南
  • XZ3445输入电压2.7-36V 输出电压小于30V 5A升压/升降压型DC-DC驱动器
  • 3步掌握Zotero插件市场:一键安装、智能管理、高效升级
  • 【Claude】上下文窗口溢出与 Token 管理优化 — 已解决
  • 如何在Windows上实现4K 240Hz高性能虚拟显示器:ParsecVDD技术深度解析
  • Yakit与流量过滤策略:精准抓取微信小程序核心API
  • 基于Si4731和STM32的FM收音系统开发指南