权限和所有权 – Linux Foundation for DevOps
发布: (2025年12月26日 GMT+8 03:05)
6 min read
原文: Dev.to
Source: Dev.to
请提供您希望翻译的正文内容,我将为您翻译成简体中文并保持原有的格式、Markdown 语法以及技术术语不变。
介绍
作为准备 DevOps 职位的人,我正在以 精简方法 学习 Linux——只关注操作和调试真实服务器所需的内容。
本文涵盖 权限和所有权,并包括 动手演示(请参阅来自 DevOps 视角的 YouTube 播放列表)。
Objective
学习 Linux 文件 权限和所有权 的工作原理,以便您能够安全地在服务器、容器和 CI 环境中操作,避免意外破坏应用程序或阻止访问。
为什么这对 DevOps 很重要
这些技能在 DevOps 中随处可见:
- 在 Linux 服务器上部署应用程序
- 运行需要文件访问的容器
- 修复 CI/CD 流水线中的“权限被拒绝”错误
- 保护配置文件、SSH 密钥和脚本
如果权限设置错误,系统会悄无声息或危险地失败。
Scope
Included
rwx权限和数字模式(755、644)chmod、chown、chgrpuser、group和others- 基本
sudo用法
Explicitly excluded (for now)
- ACLs
- SELinux / AppArmor
- 高级 Linux 安全模型
Minimum Required Concepts
| Concept | Purpose |
|---|---|
rwx (read, write, execute) | 控制谁可以打开、修改或运行文件 |
user / group / others | 定义权限适用于谁 |
chmod | 更改文件和目录的权限 |
chown | 更改文件所有者 |
chgrp | 更改文件所属组 |
Numeric modes (755, 644) | 在脚本和 CI 中快速设置权限的方式 |
sudo | 安全地以 root 身份运行命令 |
实际使用(本地环境)
今天的实践方式:
- 创建文件并更改其权限
- 阻止和允许脚本执行
- 在用户之间更改文件所有权
- 使用
sudo修复受保护的文件 - 重现并修复
permission denied错误
所有活动均在 本地 Linux 机器或虚拟机 上执行。
演示
方向 — rwx,用户、组、其他
- 显示所有者(用户、组、其他)及其权限(
rwx)。 - 使用
ls -l检查当前目录的权限。 - 使用
file确认文件类型,并查看所有者、组和其他人的权限。
数字模式
解释数字值的含义:
7→rwx6→rw-5→r-x4→r--3→-wx2→-w-1→--x
使用 stat 同时显示数字模式和可读的权限。
打破并修复访问 — chmod
- 创建一个脚本文件,用
nano编辑,添加一些命令,然后尝试执行它。 - 创建名为
break的目录,去掉执行(x)权限,并观察其效果。
所有权 — chown
- 将脚本文件的所有者改为
root。 - 说明执行该文件时会发生什么,以及为什么会(或不会)成功。
组 — chgrp
- 将脚本文件的组改为
root。 - 说明当组权限不足时执行可能会失败的原因。
sudo 基础
- 使用
sudo执行读、写、执行操作。 - 说明结果以及
sudo如何在不改变文件权限的情况下影响执行。
操作信心(当前状态)
- 解释类似
-rwxr-xr--的权限字符串,以准确了解谁可以执行哪些操作。 - 根据文件模式预测文件在运行前的行为。
- 使用
chmod有意 破坏并恢复执行。 - 使用
chown更改所有者并了解其对执行的影响。 - 使用
chgrp通过组成员资格限制或允许访问。 - 在必要时使用
sudo覆盖权限,无需猜测。
适用于此的 DevOps 场景(前瞻性)
这些行为直接对应真实的 DevOps 故障,例如:
- CI/CD 流水线因构建脚本缺少
+x标志而失败。 - Docker 容器因挂载卷属于
root而崩溃。 - Web 服务器因配置文件的组所有权错误而返回 403。
- SSH 因权限过于宽松而拒绝使用密钥。
- 云 VM 设置脚本因所有权意外被更改而失败。
注释与观察
Permission denied几乎总是意味着 所有者错误或缺少x权限。- 一个仅有
r而没有x的文件可以被读取,但永远无法执行。 - 将所有者更改为
root可能会在不提示的情况下阻止或允许执行。 - 只有当组权限允许时,组所有权才会起作用。
sudo不会 更改文件权限——它更改的是 执行命令的用户。
状态与下一步
当前状态: ⏳ 活跃
下一个工作卡: 用户与组
小而经过验证的进展胜过广泛但未经验证的知识。