Linux权限模型如何理解_访问控制原理解析【教程】
发布时间 - 2026-01-04 00:00:00 点击率:次Linux权限模型核心是“谁以什么身份访问时被允许做什么”,依赖文件/目录上固化三元权限位(u/g/o)实时比对;ls -l的10字符中首字符为类型,后9位按3+3+3分组表示所有者、所属组、其他人的rwx权限;目录需x位才能cd进入,故644不适用于目录而应选755;chmod符号法适合增量修改,数字法适合批量重置;目录的rwx含义与文件不同:r为ls列表、w为增删改文件、x为cd进入及访问元数据;权限生效取决于访问者身份(id)、资源归属(ls -l)和创建掩码(umask)三者共同作用。Linux 权限模型的核心不是“谁可以做什么”,而是“**谁以什么身份访问时,被允许做什么**”——它不依赖全局策略,而靠每个文件/目录上固化的一组三元权限位(
u/g/o)实时比对决定放行与否。
ls -l 输出的10个字符到底在说什么
执行 ls 看到类似
-l file.txt-rw-r--r-- 这串字符,前1位是类型(-普通文件、d目录),后面9位才是权限,**严格按3+3+3分组**:
-
rw-→ 所有者(u):可读可写,不可执行 -
r--→ 所属组(g):只可读 -
r--→ 其他人(o):只可读
⚠️ 容易踩的坑:chmod 644 看似“所有者读写、组和其他人只读”,但若目标是目录,644 会让组和其他人**无法 cd 进入**——因为目录需要 x(执行)位才可进入,而 4(r)不含 x。正确应为 755(目录)或 644(纯文本文件)。
chmod 符号法 vs 数字法:什么时候该用哪一种
符号法(如 chmod u+x script.sh)适合**增量修改**,语义清晰、不易误操作;数字法(如 chmod 755)适合**批量重置**,但容易因记混数值含义导致越权(比如把 777 当“安全默认值”用)。
- 数字法本质是八进制:每位 =
r(4) +w(2) +x(1),例如6=4+2=rw- - 符号法支持
a(all)、u/g/o精准定位,还能用=强制覆盖(chmod go=r file) - 真实场景中,脚本部署常用符号法避免覆盖已有权限;初始化服务目录则倾向数字法统一收口
为什么改了文件权限,还是进不了目录?
目录的 r、w、x 含义和文件完全不同:
-
r→ 能否ls列出内容(看到有哪些文件) -
w→ 能否在目录内touch/rm/mv文件(**删除文件的权限由目录的w控制,而非文件自身权限!**) -
x→ 能否cd进入,以及能否访问其下文件的元数据(比如stat)
典型错误:给 /var/www/html 设置了 755,但 Web 服务器用户(如 www-data)不在该目录所属组里 → 实际生效的是 others 权限段,而 others 若无 x,连 open() 都会失败,报错 Permission denied。
chown 和 umask:权限的源头控制
权限不只是“改出来”的,更是“生出来”的:
-
chown user:group file改变属主和属组,直接影响u/g权限段是否生效 -
umask是创建文件/目录时的“权限屏蔽码”,比如umask 002表示新文件默认为664(666 & ~002),新目录为775(777 & ~002) - 注意:
umask不影响已有文件,也不影响root用户创建文件的默认行为(root的umask常为022,更保守)
真正难啃的点从来不是命令怎么敲,而是搞清“当前访问者是谁”(id 命令查 UID/GID)、“当前资源属谁”(ls -l)、“系统创建它时用了什么掩码”(umask)——这三者缺一不可。
# linux
# html
# go
# 为什么
# var
# 做什么
# 已有
# 比对
# 的是
# 以什么
# 掩码
# 也不
# 才是
# 什么时候
# 说什么
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
如何正确下载安装西数主机建站助手?
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
如何在万网开始建站?分步指南解析
如何挑选高效建站主机与优质域名?
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
PHP 500报错的快速解决方法
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
JS去除重复并统计数量的实现方法
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
独立制作一个网站多少钱,建立网站需要花多少钱?
公司网站制作价格怎么算,公司办个官网需要多少钱?
Laravel怎么使用Intervention Image库处理图片上传和缩放
如何在企业微信快速生成手机电脑官网?
bing浏览器学术搜索入口_bing学术文献检索地址
如何确保西部建站助手FTP传输的安全性?
Swift中循环语句中的转移语句 break 和 continue
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
iOS UIView常见属性方法小结
新三国志曹操传主线渭水交兵攻略
如何在阿里云购买域名并搭建网站?
香港服务器部署网站为何提示未备案?
,网页ppt怎么弄成自己的ppt?
QQ浏览器网页版登录入口 个人中心在线进入
Laravel如何实现多对多模型关联?(Eloquent教程)
长沙企业网站制作哪家好,长沙水业集团官方网站?
Android滚轮选择时间控件使用详解
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
网站制作免费,什么网站能看正片电影?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
Laravel如何使用withoutEvents方法临时禁用模型事件
如何在IIS服务器上快速部署高效网站?
智能起名网站制作软件有哪些,制作logo的软件?
PHP正则匹配日期和时间(时间戳转换)的实例代码
瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口
Linux系统命令中tree命令详解
如何用wdcp快速搭建高效网站?
如何快速建站并高效导出源代码?
如何在Windows 2008云服务器安全搭建网站?
C语言设计一个闪闪的圣诞树
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
网站制作软件免费下载安装,有哪些免费下载的软件网站?
Laravel Blade模板引擎语法_Laravel Blade布局继承用法

