拒绝瞎 777!一文搞懂 Linux 文件权限底层到高阶玩法
在 Linux 操作系统的安全体系中文件权限管理是核心基石之一。它通过精细化的权限分配机制实现了对文件访问、修改、执行等操作的严格管控保障了系统数据的安全性与完整性。本文将从基础权限原理出发逐步深入到权限配置、特殊权限应用及默认权限管理结合实操案例为你全面拆解 Linux 文件权限管理的核心逻辑与实践技巧。文章目录一、Linux 文件系统权限基础原理1.三类权限主体2.权限字符串解析10位字符的核心含义3.权限优先级规则4.rwx 权限的核心含义文件 vs 目录二、文件权限管理实操chmod、chown、chgrp 命令1.chmod 命令修改文件/目录权限1符号法直观易懂适合精细化调整2数字法高效便捷适合批量配置2.chown 与 chgrp 命令修改属主与属组1chown 命令修改属主/同时修改属主和属组2chgrp 命令专门修改属组3.文件权限总结三、默认权限管理umask 命令1.umask 核心规则2.umask 实操案例3.umask 持久化配置四、高级权限管理特殊权限SUID、SGID、Sticky1.SUID针对可执行文件临时获取属主权限2.SGID针对目录实现组内文件共享3.Sticky针对公共目录防止文件被误删4.查找系统中的特殊权限文件五、总结一、Linux 文件系统权限基础原理Linux 采用灵活且严谨的权限模型能够适配绝大多数场景下的权限管控需求。其核心逻辑围绕“权限主体”与“权限类型”展开通过二者的组合实现对文件操作的精准限制。1.三类权限主体Linux 将文件的访问主体划分为三类分别对应不同的权限层级优先级依次递减文件属主User通常是创建该文件的用户对文件拥有最高级别的管控权限权限优先级最高。文件属组Group默认是文件属主所属的主组组内所有成员共享该组对应的文件权限。其他用户Other除文件属主和属组成员外系统中所有其他用户权限优先级最低。2.权限字符串解析10位字符的核心含义通过ls -l命令可查看文件的详细权限信息以示例-rw-r-----. 1 laoma wheel 2262 Dec 23 08:47 myfile为例权限部分-rw-r-----.的10位字符可分为四部分各部分含义如下字符位置代表含义示例解析myfile第1位文件类型标识-普通文件d目录l软链接b/c块/字符设备第2-4位文件属主User权限rw-属主拥有读、写权限无执行权限第5-7位文件属组Group权限r--属组成员仅拥有读权限无写、执行权限第8-10位其他用户Other权限---其他用户无任何权限3.权限优先级规则若某用户同时属于文件属主和属组成员如示例中 laoma 用户既是属主也是 wheel 组成员系统将优先匹配**文件属主权限**属组权限不再生效。这一规则确保了文件创建者的核心管控权避免权限冲突。4.rwx 权限的核心含义文件 vs 目录需特别注意的是r读、w写、x执行三种基础权限在普通文件和目录上的含义截然不同这是权限管理的易错点也是核心考点。二、文件权限管理实操chmod、chown、chgrp 命令掌握权限管理的核心命令是实现精细化权限配置的关键。Linux 提供chmod修改权限、chown修改属主、chgrp修改属组三大命令满足各类权限调整需求。1.chmod 命令修改文件/目录权限chmod是权限管理最常用的命令用于调整文件或目录的读、写、执行权限支持两种语法格式符号法和数字法可根据场景灵活选择。1符号法直观易懂适合精细化调整语法格式chmod WhoHowWhat /path/to/file参数说明Who指定权限主体u属主、g属组、o其他、a所有用户。How指定权限操作添加权限、-移除权限、精确设置权限。What指定权限类型r读、w写、x执行。实操案例以/lab/passwd文件为例演示符号法权限调整# 1. 查看文件初始权限[rootcentos7 lab]# ls -l passwd-rw-r--r--.1root root231211月814:17passwd# 2. 给属主添加执行权限[rootcentos7 lab]# chmod ux ./passwd[rootcentos7 lab]# ls -l passwd-rwxr--r--.1root root231211月814:17passwd# 3. 一次性调整多主体权限属主移除写、执行权限属组添加写权限其他用户移除所有权限[rootcentos7 lab]# chmod u-wx,gw,o- passwd[rootcentos7 lab]# ls -l passwd-r--rw----.1root root231211月814:17passwd# 4. 一次性设置所有用户权限为读、写、执行[rootcentos7 lab]# chmod arwx passwd[rootcentos7 lab]# ls -l passwd-rwxrwxrwx.1root root231211月814:17passwd2数字法高效便捷适合批量配置语法格式chmod ### /path/to/file参数说明三位数字分别对应属主、属组、其他用户的权限每位数字取值为0-7对应二进制权限组合0代表无权限7代表读、写、执行全权限二进制与十进制、权限的对应关系如下二进制十进制对应权限权限说明0000---无任何权限0011--x仅执行权限0102-w-仅写权限0113-wx写执行权限1004r--仅读权限1015r-x读执行权限1106rw-读写权限1117rwx读写执行权限实操案例以/lab/passwd文件为例演示数字法权限调整# 1. 设置权限为属主读、写属组写、执行其他用户读对应二进制110 011 100十进制634[rootcentos7 lab]# chmod 634 passwd[rootcentos7 lab]# ls -l passwd-rw--wxr--.1root root231211月814:17passwd# 2. 设置权限为属主读、写、执行属组读、执行其他用户读、执行常用的755权限适合可执行程序[rootcentos7 lab]# chmod 755 passwd[rootcentos7 lab]# ls -l passwd-rwxr-xr-x.1root root231211月814:17passwd# 3. 查看文件权限的数字形式和符号形式[rootcentos7 lab]# stat -c %A passwd # 查看符号权限-rwxr-xr-x[rootcentos7 lab]# stat -c %a passwd # 查看数字权限7552.chown 与 chgrp 命令修改属主与属组在实际运维中经常需要调整文件的属主和属组以适配团队协作、权限管控需求。chown用于修改文件属主可同时修改属组chgrp专门用于修改文件属组。1chown 命令修改属主/同时修改属主和属组语法格式仅修改属主chown 新属主 /path/to/file同时修改属主和属组chown 新属主:新属组 /path/to/file递归修改目录及内部所有文件权限chown -R 新属主:新属组 /path/to/dir实操案例# 1. 查看文件初始属主和属组[rootcentos7 lab]# ls -l passwd-rwxr-xr-x.1root root231211月814:17passwd# 2. 修改文件属主为 laoma[rootcentos7 lab]# chown laoma passwd[rootcentos7 lab]# ls -l passwd-rwxr-xr-x.1csh root231211月814:17passwd# 3. 同时修改属主为 laowang、属组为 wheel[rootcentos7 lab]# chown laowang:wheel passwd[rootcentos7 lab]# ls -l passwd-rwxr-xr-x.1laowang wheel231211月814:17passwd# 4. 递归修改目录 dir01 及内部所有文件的属主和属组为 laowang:wheel[rootcentos7 lab]# chown -R laowang:wheel dir01/[rootcentos7 lab]# ls -R -ld dir01 dir01/*drwxrwx---.2laowang wheel2011月814:22 dir01 -rwxrwx---.1laowang wheel011月814:22 dir01/file012chgrp 命令专门修改属组语法格式chgrp 新属组 /path/to/file支持-R递归参数用法与chown一致。实操案例将passwd文件的属组修改为 wheel[rootcentos7 lab]# chgrp wheel passwd[rootcentos7 lab]# ls -l passwd-rwxr-xr-x.1csh wheel231211月814:17passwd3.文件权限总结三、默认权限管理umask 命令在 Linux 中新建文件或目录时其默认权限由umask权限掩码决定。umask的核心作用是“剔除权限”即从默认最大权限中剔除umask对应的权限得到实际默认权限。1.umask 核心规则新建普通文件的最大默认权限为666读、写权限无执行权限避免安全风险。新建目录的最大默认权限为777读、写、执行全权限。实际默认权限 最大默认权限 - umask 值数字法计算。2.umask 实操案例# 1. 查看当前 umask 值默认值为 0022[cshcentos7 ~]$umask0022# 2. 新建文件和目录查看默认权限文件666-022644目录777-022755[cshcentos7 ~]$mkdirlabcdlab[cshcentos7 lab]$touchf1mkdird1[cshcentos7 lab]$ls-ltotal0drwxr-xr-x.2csh csh6Nov817:05 d1# 755权限-rw-r--r--.1csh csh0Nov817:05 f1# 644权限# 3. 修改 umask 值为 0000不剔除任何权限新建文件和目录[cshcentos7 lab]$umask0[cshcentos7 lab]$touchf2mkdird2[cshcentos7 lab]$ls-ld*2 drwxrwxrwx.2csh csh6Nov817:07 d2# 777权限-rw-rw-rw-.1csh csh0Nov817:07 f2# 666权限# 4. 修改 umask 值为 0077剔除属组、其他用户所有权限新建文件和目录[cshcentos7 lab]$umask077[cshcentos7 lab]$touchf3mkdird3[cshcentos7 lab]$ls-ld*3 drwx------.2csh csh6Nov817:10 d3# 700权限-rw-------.1csh csh0Nov817:10 f3# 600权限3.umask 持久化配置临时修改的 umask 值仅在当前终端生效若需永久生效可将配置写入对应配置文件针对单个用户将umask 077写入用户家目录的~/.bashrc文件。针对所有用户将umask 077写入系统全局配置文件/etc/bashrc。# 单个用户持久化配置[cshcentos7 lab]$echoumask 077~/.bashrc[cshcentos7 lab]$source~/.bashrc# 使配置立即生效# 所有用户持久化配置需 root 权限[rootcentos7 ~]# echo umask 077 /etc/bashrc[rootcentos7 ~]# source /etc/bashrc # 使配置立即生效四、高级权限管理特殊权限SUID、SGID、Sticky除基础的 rwx 权限外Linux 还提供三种特殊权限SUID、SGID、Sticky用于解决特殊场景下的权限管控问题进一步提升系统安全性和协作效率。1.SUID针对可执行文件临时获取属主权限核心作用普通用户执行带有 SUID 权限的可执行文件时会临时获取该文件属主的权限执行结束后权限恢复。最典型的应用是passwd命令普通用户可通过该命令修改自身密码实际修改的是/etc/shadow文件该文件默认仅 root 可修改。# 1. 查看 /etc/shadow 文件权限仅 root 可修改[cshcentos7 ~]$ls-l/etc/shadow ----------.1root root1264Nov816:38 /etc/shadow# 2. 查看 passwd 命令权限带有 SUID 权限权限位显示为 s[cshcentos7 ~]$ls-l$(whichpasswd)-rwsr-xr-x.1root root27856Apr12020/usr/bin/passwd# 3. 给可执行文件添加 SUID 权限以 vim 为例[rootcentos7 ~]# chmod us /usr/bin/vim[rootcentos7 ~]# ls -l /usr/bin/vim-rwsr-xr-x.1root root233721610月142020/usr/bin/vim# 4. 删除 SUID 权限[rootcentos7 ~]# chmod u-s /usr/bin/vim2.SGID针对目录实现组内文件共享核心作用针对目录设置 SGID 权限后该目录内新建的所有文件和子目录其属组会继承父目录的属组而非创建者的主组适用于团队协作场景如开发组共享目录。# 1. 准备用户和组[rootcentos7 lab]# groupadd devops # 创建开发组[rootcentos7 lab]# useradd -G devops dev1 # 创建用户 dev1加入 devops 组[rootcentos7 lab]# useradd -G devops dev2 # 创建用户 dev2加入 devops 组# 2. 准备共享目录修改属组为 devops添加属组读写执行权限[rootcentos7 lab]# mkdir webapp[rootcentos7 lab]# chgrp devops webapp[rootcentos7 lab]# chmod grwx webapp# 3. 无 SGID 权限用户 dev1 创建的文件属组为自身主组[rootcentos7 lab]# su dev1[dev1centos7 lab]$touchwebapp/dev-f1[dev1centos7 lab]$ ll webapp/dev-f1 -rw-rw-r--.1dev1 dev107月2215:12 webapp/dev-f1# 属组为 dev1# 4. 添加 SGID 权限用户 dev1 创建的文件属组继承父目录的 devops[rootcentos7 lab]# chmod gs webapp[rootcentos7 lab]# su dev1[dev1centos7 lab]$touchwebapp/dev-f2[dev1centos7 lab]$ ll webapp/dev-f2 -rw-rw-r--.1dev1 devops07月2215:13 webapp/dev-f2# 属组为 devops# 5. 验证组内共享用户 dev2 可修改该文件[rootcentos7 lab]# su dev2[dev2centos7 lab]$echohello worldwebapp/dev-f2[dev2centos7 lab]$catwebapp/dev-f2 hello world3.Sticky针对公共目录防止文件被误删核心作用针对公共目录如/tmp设置 Sticky 权限后目录内的文件仅能被其属主、目录属主或 root 用户删除其他用户即使拥有目录写权限也无法删除他人文件避免公共目录文件被误删。# 1. 查看 /tmp 目录权限带有 Sticky 权限权限位显示为 t数字权限为 1777[rootcentos7 lab]# ls -ld /tmpdrwxrwxrwt.20root root409611月816:50 /tmp[rootcentos7 lab]# stat -c %a /tmp1777# 2. 验证普通用户无法删除他人文件[cshcentos7 ~]$rm/tmp/other-user-file# 尝试删除他人文件rm: cannot remove/tmp/other-user-file:Operation not permitted# 3. 验证普通用户可删除自己创建的文件[cshcentos7 ~]$touch/tmp/csh-f1[cshcentos7 ~]$rm/tmp/csh-f1# 可正常删除4.查找系统中的特殊权限文件可通过find命令查找系统中带有特殊权限的文件便于排查安全隐患# 查找系统中所有带有 SUID 权限的文件[rootcentos7 ~]# find / -perm -4000 # 4000 对应 SUID 权限的数字标识[rootcentos7 ~]# find / -perm -us # 符号法查找 SUID 文件# 查找系统中所有带有 SGID 权限的文件[rootcentos7 ~]# find / -perm -2000[rootcentos7 ~]# find / -perm -gs# 查找系统中所有带有 Sticky 权限的目录[rootcentos7 ~]# find / -perm -1000[rootcentos7 ~]# find / -perm -ot五、总结Linux 文件权限管理围绕“主体u/g/o”和“权限r/w/x”展开核心要点可概括为基础权限rwx 权限在文件和目录上的含义截然不同需重点区分。权限配置chmod修改权限、chown修改属主/属组是核心命令支持符号法和数字法。默认权限由umask决定核心规则是“最大权限 - umask 值”。特殊权限SUID临时获取属主权限、SGID目录文件属组继承、Sticky公共目录防误删解决特殊场景权限问题。通过本文的学习与实操相信你已掌握 Linux 文件权限管理的核心逻辑与实操技巧。在实际运维中需结合场景合理配置权限兼顾安全性与便捷性避免因权限配置不当引发安全风险。

相关新闻

《百分百的心动实习》 在线观看

《百分百的心动实习》 在线观看

《百分百的心动实习》 在线观看资料可在线播放《百分百的心动实习》https://tool.nineya.com/s/1jskahdln English Practice Sweet Romance Edition 以《百分百的心动实习》为主题的英语练习,边追剧边学英语。Part 1 Vocabulary Choose the best word.Her heart _…

2026/7/20 20:32:29阅读更多 →
AutoXGB性能优化技巧:内存管理、交叉验证与特征工程的黄金法则

AutoXGB性能优化技巧:内存管理、交叉验证与特征工程的黄金法则

AutoXGB性能优化技巧:内存管理、交叉验证与特征工程的黄金法则 【免费下载链接】autoxgb XGBoost Optuna 项目地址: https://gitcode.com/gh_mirrors/au/autoxgb AutoXGB是一款融合XGBoost与Optuna的强大工具,为机器学习工程师和数据科学家提供自…

2026/7/20 20:30:29阅读更多 →
GitHub Copilot SDK代理循环:工具使用循环和完成信号的深度解析

GitHub Copilot SDK代理循环:工具使用循环和完成信号的深度解析

GitHub Copilot SDK代理循环:工具使用循环和完成信号的深度解析 【免费下载链接】copilot-sdk Multi-platform SDK for integrating GitHub Copilot Agent into apps and services 项目地址: https://gitcode.com/GitHub_Trending/co/copilot-sdk GitHub Cop…

2026/7/21 22:50:10阅读更多 →
佛山招聘app哪个好:【帅聘网】全球领先

佛山招聘app哪个好:【帅聘网】全球领先

导读:在佛山,无论是制造业企业主的办公室,还是产业工人的手机屏幕,"佛山招聘app哪个好"正在成为一个高频问题。帅聘网——这个创立于2010年、2025年全面转型为全球首个融合AI智能匹配与去中心化区块链技术的廉价AI招聘W…

2026/7/22 5:04:36阅读更多 →
AI论文写作工具评测与效率提升方案

AI论文写作工具评测与效率提升方案

1. AI论文写作工具的市场需求分析学术写作领域正经历着一场由AI技术驱动的革命。根据2023年Elsevier发布的全球学者调研报告,超过68%的研究人员表示在论文写作过程中使用过AI辅助工具。这种需求主要源于三个痛点:首先是时间压力,博士生平均需…

2026/7/22 5:04:36阅读更多 →
JSM4446A N 沟道增强型 MOSFET

JSM4446A N 沟道增强型 MOSFET

在消费电子、板载 DC-DC、负载开关电路设计中,30V 低压大电流 N 沟道 MOSFET 是电源拓扑的核心器件。长期以来,行业内 AO4446A 凭借低导通内阻、适配 4.5V 低压驱动、高频开关特性,成为同步 Buck 转换器、负载点电源的通用选型。但海外型号时…

2026/7/22 5:04:36阅读更多 →
问卷设计全攻略:从基础到高级技巧

问卷设计全攻略:从基础到高级技巧

1. 调查问卷设计基础:从零开始构建有效问卷调查问卷作为数据收集的基础工具,几乎渗透到现代社会的每个角落。从学术研究到商业决策,从政府统计到个人兴趣调查,一张设计精良的问卷能够揭示隐藏在表面之下的真实情况。但很多人低估了…

2026/7/22 5:04:36阅读更多 →
问卷设计核心逻辑与高级技巧全解析

问卷设计核心逻辑与高级技巧全解析

1. 问卷调查设计基础与核心逻辑2003年我在大学第一次接触社会调查方法课程时,教授在黑板上写下的第一条原则至今记忆犹新:"垃圾进就会垃圾出"(Garbage in, garbage out)。这句话道破了问卷调查的本质——设计质量直接决定数据价值。经过18年市…

2026/7/22 5:04:36阅读更多 →
Yum包管理器核心原理与高效运维实战

Yum包管理器核心原理与高效运维实战

1. Yum包管理器概述在Red Hat系Linux发行版中,yum(Yellowdog Updater Modified)作为经典的RPM包管理前端工具,承担着软件依赖解析和自动化安装的核心职能。不同于直接操作rpm命令时令人头疼的依赖地狱,yum通过维护仓库…

2026/7/22 5:02:36阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 0:53:59阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 0:53:59阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 0:53:59阅读更多 →
中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业做小程序,最常见的矛盾是预算有限,但又不希望功能太单薄;没有技术团队,但又希望后续能自己运营;想快速上线,又担心隐性收费和售后失联。选型时如果只看“低价套餐”或“案例数量”,很容…

2026/7/22 0:01:17阅读更多 →
GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

企业做营销,最怕钱花完了,资产没有留下。 效果广告能带来一段时间的曝光,但预算停止后,流量往往也随之停止。短视频内容可能在几天内冲高,也可能很快沉下去。AI搜索时代,企业需要重新思考一个问题&#xff…

2026/7/22 0:01:17阅读更多 →
Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复 一、你的 Agent 在"再想想"的循环里绕了 12 轮,用户已经关窗口了 Agent 与人最大的区别是:人知道什么时候该停下来给答案,Agent 会一直"想"下去。你给 Agent 接…

2026/7/22 0:01:17阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/21 22:53:50阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/21 18:53:30阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/21 18:53:30阅读更多 →