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

Linux 文件权限超详细详解(读懂权限标识、数字权限、特殊权限、chmod/chown)

🏷️ 标签:Linux文件权限chmodchown权限管理运维入门📝 适用人群:Linux 初学者、运维、后端开发、计算机专业实训、面试复习 💡 文章亮点:零基础吃透 Linux 文件权限,包含权限原理、rwx 含义、字符 / 数字权限、所有者所属组、chmod、chown、特殊权限、默认权限 umask,内容全面可直接发布 CSDN


一、前言

Linux 和 Windows 最大区别之一就是严格的文件权限管理

在 Linux 中,一切皆文件,普通文件、目录、脚本、硬件设备、进程配置都有权限控制。 权限决定:谁能读、谁能写、谁能执行

如果不懂权限:

  • 程序运行提示权限不足
  • 网站无法访问文件
  • 数据库目录报错
  • 多人服务器文件泄露

本文带你从零彻底吃透 Linux 文件权限,全覆盖无死角。


二、Linux 权限基本概念

2.1 权限针对三类用户

Linux 把文件访问者分为3 种身份

  1. 所有者(user /u):文件创建者、拥有者
  2. 所属组(group /g):同组所有用户
  3. 其他用户(other /o):既不是所有者、也不在所属组的其他所有人

任何一个文件权限,都是分别给u、g、o三类人设置。

2.2 三种基础权限

每一类用户都有三种权限:

权限字符作用(文件)作用(目录)
r查看文件内容列出目录里的文件
w修改、编辑文件在目录中新建 / 删除 / 改名文件
执行x运行脚本、程序进入目录、切换到目录

重点记忆:

  • 文件 r:看内容
  • 目录 r:看列表
  • 文件 x:能运行
  • 目录 x:能进入

三、查看文件权限

执行:

ls -l

示例输出:

-rwxr--r-- 1 root root 128 6月 10 test.sh

权限字段拆解

第一位:文件类型

  • -普通文件
  • d目录
  • l软链接
  • b/c设备文件

后面 9 位分为 3 组:

rwx r-- r-- u g o
  • 前 3 位:所有者 u 权限
  • 中间 3 位:所属组 g 权限
  • 后 3 位:其他用户 o 权限

四、字符权限与数字权限(核心)

4.1 字符权限表示

rwx r-x ---

4.2 数字权限(八进制)

权限对应数值:

  • r = 4
  • w = 2
  • x = 1

每一组权限求和:

示例:

  • rwx = 4+2+1 =7
  • r-x = 4+0+1 =5
  • r-- = 4+0+0 =4
  • --- = 0

4.3 常见权限对照表

字符权限数字权限说明
rwxrwxrwx777所有人完全控制(慎用)
rwxr-xr-x755所有者可读写执行,其他人只读执行
rw-r--r--644普通文件最常用
rwx------700仅自己可访问,安全私密
rw-------600私密配置文件

企业默认规范:

  • 普通文件:644
  • 目录 / 脚本:755
  • 私密配置:600 / 700

五、修改权限 chmod 命令

5.1 字符方式修改

# 给所有者增加执行权限 chmod u+x test.sh # 取消组写权限 chmod g-w test.sh # 其他用户增加读权限 chmod o+r test.sh # 所有用户加执行 chmod a+x test.sh

5.2 数字方式修改(最常用)

chmod 755 test.sh chmod 644 config.txt chmod 700 私密目录

5.3 递归修改目录所有文件

chmod -R 755 /home/www

六、修改所有者和所属组 chown

6.1 修改文件所有者

chown user1 test.txt

6.2 修改所属组

chgrp group1 test.txt

6.3 同时改所有者 + 所属组

chown user1:group1 test.txt

6.4 递归修改目录所有文件

chown -R user1:group1 /home/www

七、文件所有者、所属组 是谁?

  1. 谁创建文件,谁就是所有者
  2. 默认所属组是当前用户初始组
  3. root 可以修改任何文件权限
  4. 普通用户不能把文件转给别人

八、目录权限特殊说明

目录权限和文件不一样,重点:

  • r:可以ls列出目录内容
  • w:可以在目录下新建、删除、改名文件
  • x:可以cd进入目录

常见误区:目录有 w 权限,就能删除里面的文件,哪怕文件本身没有写权限。


九、Linux 特殊权限(进阶)

除了 rwx,还有三个特殊权限:

9.1 SUID 临时继承所有者权限

  • 作用:普通用户执行时临时拥有文件所有者权限
  • 数字:4xxx
  • 例如:passwd命令

9.2 SGID 继承目录所属组

  • 作用:目录下新建文件自动继承目录所属组
  • 数字:2xxx

9.3 粘滞位 SBIT

  • 作用:目录内文件只能自己删自己
  • 典型:/tmp临时目录
  • 数字:1xxx

十、默认权限与 umask

10.1 什么是 umask

新建文件 / 目录时,默认权限由 umask 控制

默认:

  • 普通文件初始最大权限:666
  • 目录初始最大权限:777

减去 umask 得到最终权限。

10.2 查看 umask

umask

10.3 示例

umask 为 022

  • 文件:666 - 022 =644
  • 目录:777 - 022 =755

正是企业最常用默认权限。


十一、常见权限故障排查

  1. 程序提示 Permission denied
    • 检查文件是否有x 执行权限
  2. 网页无法访问文件
    • 给目录 755、文件 644
  3. 无法进入目录
    • 缺少x 权限
  4. 能看文件内容但不能删除
    • 文件本身无 w,但上级目录有 w 仍可删除

十二、权限最佳实践(生产规范)

  1. 普通文件统一644
  2. 目录、脚本统一755
  3. 配置、密码文件设600
  4. 禁止随意给 777 权限(安全隐患)
  5. 网站目录归属www用户
  6. 多用chown -R统一授权

十三、总结

  1. Linux 权限分三类用户:所有者 u、所属组 g、其他 o
  2. 基础权限:r 读、w 写、x 执行
  3. 权限有字符表示、数字八进制表示
  4. chmod修改权限,chown修改归属
  5. 目录 rwx 含义和文件不同
  6. 理解755、644、700常用权限
  7. 特殊权限:SUID、SGID、粘滞位
  8. umask 控制新建文件默认权限

掌握本文,彻底搞定 Linux 文件权限,日常运维、部署项目、面试完全够用。


版权声明

本文为原创 Linux 文件权限超详细教程,CSDN 首发,内容全面适合学习、实训、作业、面试复习,禁止未经授权转载抄袭。

http://www.cnnetsun.cn/news/2648090.html

相关文章:

  • 中电金信分布式核心系统与鲲鹏实现“原生开发”,共筑数智金融新范式
  • SSM架构JavaWeb点餐系统源码(含MySQL建库脚本与可运行工程)
  • 网络工程- 如何组件一个小型办公室网络
  • 如何选择电钢琴?立体声音效与型号对比
  • 如何在浏览器中一键解锁加密音乐文件:告别平台限制的音乐自由方案
  • EasyBox下载与使用教程:无限制看全网影视资源(安卓)还支持聚合搜索
  • 书匠策AI到底是个啥?一个论文科普博主的深度拆解,看完你会回来谢我
  • Armbian挂载U盘时,中文文件名乱码怎么办?手把手教你解决FAT32/NTFS/exFAT编码问题
  • mac brew安装(国内)
  • AI 一键生成淘宝主图的软件有哪些?—— 电商视觉革命下的工具全景与选择指南
  • RTX-Tiny多版本库管理实践与Keil工程配置
  • nnDetection实战:手把手教你用Python在自家电脑上跑通第一个肺结节检测模型
  • 国产超宽带混频器打破垄断,水平国际先进,背后大有来头
  • 别再重启电脑了!Windows 11下dwm.exe内存飙升,试试更新Intel核显驱动(附详细步骤)
  • Androidstudio打开一个工程会很慢,一只在scan或者update文件,有什么优化对策么?
  • 五完小网络覆盖建设方案
  • TCGA数据挖掘避坑指南:手把手教你用GEPIA做可靠的共表达与相关性分析
  • 微能量收集PMIC芯片AEM00920的国产替代MF9005
  • 保姆级教程:用MyDockFinder的创意工坊皮肤,把你的Windows桌面彻底Mac化
  • 破解地表形变监测难题:GMTSAR全流程InSAR形变监测技术指南数据处理、形变信息提取与分析等实践技术应用
  • 从心电信号到股票K线:波峰波谷检测的跨界实战应用(含MATLAB/Python实例)
  • AI Agent Harness Engineering 创业风险规避:市场、技术与政策的潜在坑点
  • 从图像压缩到数据分析:用Python手把手实现PCA与K-L展开的实战对比
  • 用CTGAN搞定表格数据生成:从原理到实战,手把手教你生成高质量合成数据
  • 老Acer笔记本装Ubuntu 20.04,WiFi驱动折腾记:从bcmwl到禁用acer-wmi的完整踩坑实录
  • C51开发中NULL指针比较问题与内存管理技巧
  • FigmaCN中文插件:设计师的终极语言解决方案,3分钟告别英文界面困扰
  • 从SBM到超效率SBM:一篇讲清DEA模型家族的区别与Python选型指南
  • 【Lindy数据分析自动化实战指南】:20年专家亲授3大不可绕过的自动化陷阱与5步落地法
  • ESP-IDF+vscode开发ESP32第十五讲——队列、流缓冲区、环形缓冲区