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

Linux权限2

一、课前复习

1.1 上节课重点回顾

类别内容
指令收尾打包压缩、跨平台传输、体系结构、热键
shell 原理shell 是包裹在内核外的软件层,负责翻译用户命令
用户切换su(路径不变)、su -(重新登录)
用户类型root(超级管理员)、普通用户

1.2 用户切换规则

切换方向命令是否需要密码
普通 → rootsusu -需要 root 密码
root → 普通su 用户名不需要密码

root 是特权用户,切换成任何人都不需要密码。


二、指令提权:sudo

2.1 为什么需要 sudo?

普通用户在某些场景下需要以 root 身份执行一条命令,但又不想完整切换用户。例如:

# 普通用户想创建属于 root 的文件 sudo touch root.txt
  • 执行sudo时,输入的是当前普通用户的密码(不是 root 密码)

  • 第一次使用后,会有 10~15 分钟的免密有效期

2.2 sudo 的典型应用场景

  • 安装软件yum installapt-get install需要写/usr/bin/等系统目录

  • 拷贝文件到系统目录sudo cp myapp /usr/bin/

  • 删除系统目录中的文件

2.3 白名单机制(/etc/sudoers)

不是所有普通用户都能用sudo。系统通过/etc/sudoers文件(白名单)控制哪些用户可以执行sudo

# 只有 root 能查看/修改这个文件 cat /etc/sudoers
  • 只有白名单中的用户才能使用sudo

  • 添加用户到白名单需要 root 权限

  • 企业中,普通员工需要找管理员添加

  • 这边建议sudo这个指令先看还没有讲到vim,后面再改


三、权限的核心概念

3.1 什么是权限?

权限决定的是"能"还是"不能"

  • 校长能进校长办公室,学生不能 → 权限限制了人

  • 不是因为你叫张三所以能进,而是因为你是"校长"这个角色

3.2 权限的两个核心要素

要素说明
角色拥有者、所属组、其他人(other)
目标属性读(r)、写(w)、执行(x)

权限 = 角色 + 目标属性

3.3 角色的三层结构

角色英文说明
拥有者user/owner文件的创建者
所属组group文件所属的用户组
其他人other既不是拥有者也不在所属组中

other 不需要在文件属性中记录,因为只要不是拥有者也不是所属组,就自动归为 other。

3.4 为什么需要所属组?

场景:A 组和 B 组在同一台机器上竞争开发同一个产品。

  • 只有"拥有者"和"other"两种角色时:组长想看代码,只能放开 other 权限,但 B 组的人也能看到

  • 有了"所属组":把 A 组所有成员加入同一个组,只给组内成员开放权限,B 组看不到

所属组的本质:更精细化的权限管理

四、权限的表示与查看

4.1ls -l输出的权限位

-rw-rw-r-- 1 whb whb 0 Mar 30 10:00 my.txt

  • 第 1 个字符:文件类型(-普通文件,d目录)

  • 第 2-10 字符:9 个权限位,每 3 个一组

位置角色
第 2-4 字符拥有者权限
第 5-7 字符所属组权限
第 8-10 字符other 权限

4.2 权限位的含义

每个角色的 3 个位置分别表示:读(r)、写(w)、执行(x)

字符含义
r允许读
w允许写
x允许执行
-不允许该操作

示例rw-r--r--

  • 拥有者:rw-(可读可写,不可执行)

  • 所属组:r--(只读)

  • other:r--(只读)


五、权限修改操作

5.1 修改文件属性:chmod

方式一:字母法(推荐,可读性强)
chmod u+r my.txt # 拥有者加读权限 chmod g-w my.txt # 所属组去掉写权限 chmod o+x my.txt # other 加执行权限 chmod a+r my.txt # 所有人加读权限(a = all)

组合使用

chmod u+rw,g+r,o-rwx my.txt # 同时修改多个角色
方式二:八进制法

把 3 个权限位看作二进制数:r=4w=2x=1

二进制八进制权限
0000---
0011--x
0102-w-
0113-wx
1004r--
1015r-x
1106rw-
1117rwx

示例

chmod 664 my.txt # 拥有者:6(rw-),所属组:6(rw-),other:4(r--) chmod 777 my.txt # 所有人: rwx chmod 600 my.txt # 拥有者:rw-,其他人:---

5.2 修改文件角色:chown/chgrp

# 修改拥有者 sudo chown root my.txt # 修改所属组 sudo chgrp root my.txt # 同时修改拥有者和所属组 sudo chown whb:whb my.txt

注意:普通用户不能把自己的文件"给"别人(防止甩锅),必须用sudo

5.3 权限匹配顺序

系统判定用户对文件的权限时,只匹配一次,顺序为:

  1. 是否是拥有者?→ 是,用拥有者权限,结束

  2. 是否在所属组中?→ 是,用所属组权限,结束

  3. 否则 → 用 other 权限

这意味着:如果你既是拥有者又在所属组中,系统只看拥有者权限,不会叠加。


六、目录权限详解

权限对目录的作用
r可以查看目录内容(ls
w可以在目录中新建/删除文件或子目录
x可以进入目录(cd

6.1 验证实验

# 进入目录需要 x 权限 chmod u-x mydir/ cd mydir/ # 失败:Permission denied# 查看目录内容需要 r 权限 chmod u+r,u-x mydir/ ls mydir/ # 能看到文件列表# 在目录中新建/删除文件需要 w 权限 chmod u+w mydir/ touch mydir/newfile # 成功

重要结论:删除一个文件,取决于文件所在目录的 w 权限,与文件自身的权限无关!即使你的创建者是root但是在我zzr的目录里,我还是能删你。


七、缺省权限与 umask

7.1 现象

touch file.txt mkdir dir/ ls -l # -rw-rw-r-- 1 whb whb 0 ... file.txt (664) # drwxrwxr-x 2 whb whb 4096 ... dir/ (775)

  • 普通文件默认权限不是 666,而是 664

  • 目录默认权限不是 777,而是 775

7.2 起始权限

文件类型起始权限
普通文件666(rw-rw-rw-
目录777(rwxrwxrwx

普通文件起始不带 x(可执行),因为大部分文件不需要执行。

7.3 umask(权限掩码)

umask # 查看当前掩码,如 0002

计算公式

最终权限 = 起始权限 & (~umask)

示例(umask = 002):

  • 普通文件:666 & (~002) = 666 & 775 =664

  • 目录:777 & (~002) = 777 & 775 =775

7.4 umask 的意义

  1. 可配置性:系统管理员可以修改 umask,控制新建文件的默认权限

  2. 安全性:默认屏蔽 other 的写权限(002 中的 2 就是屏蔽 other 的 w)

7.5 修改 umask

umask 000 # 取消所有屏蔽(不推荐) umask 022 # 屏蔽组和 other 的写权限

umask 是 shell 级别的配置,关闭终端后会恢复默认值。


八、粘滞位(Sticky Bit)

8.1 问题场景

在共享目录(如/tmp)中:

  • 所有人都能创建文件(需要 w 权限)

  • 但 A 创建的文件,B 也能删除(因为删文件取决于目录的 w 权限)

需求:既能共享,又能保护自己的文件不被别人删除。

8.2 粘滞位的作用

给目录添加粘滞位后:

  • 任何人都可以创建文件

  • 只有文件拥有者可以删除自己的文件(root 除外)

8.3 设置粘滞位

# 添加粘滞位(给 other 的 x 位变成 t) chmod +t shared_dir/ # 八进制法(1 在特殊权限位) chmod 1777 shared_dir/

8.4 查看粘滞位

ls -ld /tmp # drwxrwxrwt ... /tmp # ↑ 小写 t 表示有粘滞位且 other 有 x

8.5 粘滞位的特征

特征说明
作用对象目录(不是普通文件)
典型目录/tmp(系统临时目录)
约束对象other(拥有者和所属组不受影响)
root 用户不受粘滞位约束

8.6 验证实验

# 在 /tmp 中测试 cd /tmp touch myfile chmod 600 myfile # 只让自己能读写 su - 其他用户 # 切换到其他用户 rm /tmp/myfile # 失败:Operation not permitted

九、多用户隔离原理

ls -ld /home/whb /home/zpw # drwx------ 2 whb whb ... /home/whb # drwx------ 2 zpw zpw ... /home/zpw

  • 每个用户的家目录权限为700(只有自己能进入)

  • 用户之间天然隔离

  • 需要共享文件时,使用公共目录(如/tmp)并配合粘滞位


十、完整知识点总结

10.1 命令汇总

命令作用
su/su -切换用户
sudo以 root 身份执行单条命令
chmod修改文件权限(字母法/八进制法)
chown修改文件拥有者
chgrp修改文件所属组
umask查看/设置权限掩码
chmod +t设置粘滞位

10.2 核心结论(八条)

#结论
1普通用户只能用sudo提权,且需要在/etc/sudoers白名单中
2权限 = 角色(user/group/other)+ 属性(r/w/x)
3系统判定权限时只匹配一次(user → group → other)
4进入目录需要x权限
5查看目录内容需要r权限
6在目录中创建/删除文件需要目录的w权限
7删除文件与文件自身权限无关,只取决于目录的 w 权限
8粘滞位让共享目录中的文件只能被拥有者删除

10.3 关于 root 用户

root 不受任何权限约束(文件正在使用的情况除外)。

  • root 可以读写执行任何文件

  • root 可以删除任何文件(即使有粘滞位)

  • root 可以修改任何文件的拥有者/所属组


十一、本节课简单总结

今天我们完成了 Linux 权限模块的完整学习,这是 Linux 基础阶段最重要的知识点之一:

  1. 指令提权sudo让普通用户可以以 root 身份执行单条命令,但需要在/etc/sudoers白名单中。

  2. 权限的核心要素:角色(user/group/other)和属性(r/w/x)。权限 = 角色 + 属性。

  3. 权限修改

    • chmod:改属性(字母法或八进制法)

    • chown/chgrp:改角色(需要 sudo)

  4. 目录权限:与普通文件完全不同。进入需要 x,查看需要 r,增删需要 w。删除文件取决于目录的 w 权限,与文件自身无关。

  5. 缺省权限与 umask:新建文件的默认权限由"起始权限"和"umask"共同决定。umask 让系统变得可配置,体现了 Linux 的灵活性。

  6. 粘滞位:解决共享目录中的"删文件"问题。给目录加t权限后,只有文件拥有者能删除自己的文件。/tmp就是典型例子。

  7. 多用户隔离:每个用户的家目录权限为 700,天然隔离。需要共享时使用/tmp等公共目录。

关于命令记忆:不要死记硬背,多用自然就记住了。重要的是理解背后的原理——权限的本质、角色的含义、umask 的计算方式、粘滞位的应用场景。

http://www.jsqmd.com/news/595339/

相关文章:

  • CSS如何制作鼠标悬停显示的隐藏侧边栏_利用transition与宽度变化
  • nli-distilroberta-baseAI应用:作为LLM输出后处理模块过滤逻辑矛盾回答
  • 2026年比较好的威海哈氏合金反应釜/磁力搅拌反应釜/哈氏合金反应釜/加氢反应釜厂家专业度参考(精选) - 行业平台推荐
  • SecGPT-14B知识蒸馏:让OpenClaw学会内部安全规范
  • 2026年靠谱的大连艺术留学作品集/大连艺术留学作品集公司/大连艺术留学申请优质机构榜 - 行业平台推荐
  • Highlight.js在Vue3中的性能优化指南:按需加载 vs 全量引入
  • 2026年口碑好的外墙变形缝/地面变形缝/铝合金变形缝厂家推荐与采购指南 - 行业平台推荐
  • 如何创建物化视图日志_CREATE MATERIALIZED VIEW LOG记录基表DML变更
  • LVGL8实战:打造个性化数字密码键盘界面
  • 2026年口碑好的心理设备/医院心理设备/智慧心理设备/部队心理设备优质厂商精选推荐(口碑) - 行业平台推荐
  • 自由学习记录(155)
  • 2026年靠谱的可调心带座外球面轴承/悬吊式座带座外球面轴承优质供应商推荐参考 - 行业平台推荐
  • 2026年评价高的英制紧定套/紧定套/耐腐蚀紧定套/响水美标紧定套厂家热销推荐 - 行业平台推荐
  • 2026年比较好的数控火花机/电火花机/镜面火花机行业内知名厂家推荐 - 行业平台推荐
  • Mac M2 24G 部署 OpenClaw + Ollama 踩坑实录
  • 2026年靠谱的碳纤维管缠绕设备/威海碳纤维管烘干设备/碳纤维管抛光设备/威海碳纤维管材设备厂家综合实力参考(2026) - 行业平台推荐
  • 2026年质量好的磨床/龙门磨床/南通立式数控磨床/程控龙门磨床厂家实力参考 - 行业平台推荐
  • 卷积神经网络(CNN)原理可视化:Qwen3-14B-AWQ生成技术解读文章
  • 2026年热门的双悬臂标志杆/道路监控标志杆品牌厂商推荐(更新) - 行业平台推荐
  • 2026年比较好的湿电子化学品/电镀液电子化学品/显影液电子化学品厂家实力与用户口碑参考 - 行业平台推荐
  • Appium自动化测试卡在iOS签名?手把手教你搞定Provisioning Profile与entitlements不匹配的坑
  • 怎样导出用于负载测试的样本数据_LIMIT限制数据量提取
  • LiuJuan20260223Zimage效果评估维度:清晰度、风格保真度、提示词遵循度三指标打分
  • 2026年比较好的肤色水刺无纺布/半交叉水刺无纺布/全交叉水刺无纺布热门品牌厂家推荐 - 行业平台推荐
  • 2026年比较好的程控平面磨床/自动平面磨床厂家推荐与选择指南 - 行业平台推荐
  • Wan2.2-I2V-A14B部署教程:多模型协同(I2V+T2V)混合视频生成架构
  • 2026年知名的碳纤维裁切设备/威海碳纤维脱模设备/威海碳纤维制品设备优质厂家推荐汇总 - 行业平台推荐
  • Qwen3-VL-8B在智能客服场景的应用:让客服真正看懂用户图片
  • 海康热成像数据解析避坑指南:ISAPI接口返回的multipart流,用streaming_multipart库怎么读才不丢包?
  • SQL中JOIN连接后过滤条件的最佳位置_在ON或WHERE中权衡