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

Linux 权限管理进阶:从 umask 到粘滞位的深度解析

在这里插入图片描述

🔥草莓熊Lotso:个人主页

❄️个人专栏: 《C++知识分享》 《Linux 入门到实践:零基础也能懂》

✨生活是默默的坚持,毅力是永久的享受!

🎬 博主简介:

在这里插入图片描述


文章目录

  • 前言:
  • 一. 核心前置问题铺垫(面试高频)
  • 二. umask:新文件权限的 “隐形调控者”
    • 2.1 功能与原理
    • 2.2 格式与实际案例
    • 2.3 细节问题总结(附创建一批文件的操作)
  • 三. file 指令:文件类型的 “识别器”
    • 3.1 功能和语法
    • 3.2 常用选项和实际案例
  • 四. 目录权限:容易踩坑的 “特殊逻辑”
    • 4.1 目录权限的核心规则
    • 4.2 补充:Linux下的共享文件话题
  • 五. 粘滞位:解决目录权限 “不科学” 的方案
    • 5.1 功能与设置
    • 5.2 实际使用案例
  • 结尾:


前言:

在 Linux 系统中,权限管理是保障资源安全、控制用户访问的核心机制。从新文件创建时的默认权限分配(umask),到文件类型识别(file)、权限分配(sudo),再到目录权限的特殊逻辑(粘滞位),每一个环节都暗藏系统设计的精妙。本文将沿着这条逻辑链,逐一拆解这些知识点,帮你构建完整的 Linux 权限认知体系。


一. 核心前置问题铺垫(面试高频)

在本篇博客起始呢,我们先来看看下面这三个问题,都是面试经常问到的,这些问题在我们的文章中后续都会得到解答。

在这里插入图片描述

–在这里我们先对第一个问题进行一个回答,这个我们在上篇博客中就有解答过,这里就直接展示了
在这里插入图片描述
其它两个的答案先放着,后面再详细解释:

在这里插入图片描述
在这里插入图片描述

二. umask:新文件权限的 “隐形调控者”

2.1 功能与原理

umask(文件权限掩码)的核心作用是调整新创建文件 / 目录的默认权限。Linux 系统对新文件和目录有 “初始最大权限”:

  • 新文件默认最大权限为0666(即rw-rw-rw-,可读、可写);
  • 新目录默认最大权限为0777(即rwxrwxrwx,可读、可写、可执行)。
  • umask可以查看当前默认权限掩码,主要看后三位。

注意:实际创建的资源权限并非直接使用这个 “最大值”,而是要经过umask的一些运算(绝对不是简单的减法,后面的图片演示里有具体运算过程)。公式为:实际权限 = 最大初始权限 & ~umask(~表示按位取反,&表示按位与,注意都是八进制转成二进制后运算)。

2.2 格式与实际案例

格式umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022普通用户默认为0002(后面的演示图里暂时用的超级用户,代码尽量会开始使用普通用户演示,但是如果大家会配置sudo权限的话,尽量全部使用普通用户比较好,不会也没事,以后会讲到的)
实际案例

# root查看umask以及创建文件和目录的默认权限
[root@VM-4-4-centos lesson7]# umask
0022
[root@VM-4-4-centos lesson7]# ll
total 4
drwxr-xr-x 2 root root 4096 Oct 29 22:54 dir
-rw-r--r-- 1 root root    0 Oct 29 22:19 text.txt# 普通账户查看umask以及创建文件和目录的默认权限
[Lotso@VM-4-4-centos lesson7]$ umask
0002
[Lotso@VM-4-4-centos 118]$ ll
total 4
drwxrwxr-x 2 Lotso Lotso 4096 Oct 30 11:16 dir
-rw-rw-r-- 1 Lotso Lotso    0 Oct 30 11:16 text.txt# 临时修改umask,达到不想让所属组和other有任何权限(文件用066也行本来就没x权限,目录必须077)
[Lotso@VM-4-4-centos lesson7]$ umask 077
[Lotso@VM-4-4-centos lesson7]$ umask
0077
# 我们再创建文件或者目录就会发现默认权限变了,达到了我们的目的
[Lotso@VM-4-4-centos 118]$ ll
total 4
drwx------ 2 Lotso Lotso 4096 Oct 30 11:18 dir
-rw------- 1 Lotso Lotso    0 Oct 30 11:18 text.txt

第2个常见问题的解答以及当前知识点演示图(一定要看)

在这里插入图片描述
在这里插入图片描述

2.3 细节问题总结(附创建一批文件的操作)

细节问题

  1. 不同的系统,不同的用户,umask可能不同(上面讲过)
  2. 不用担心umask被更改的问题,退出登录,重登就会恢复默认
  3. 当需要创建一批文件并想要它们的默认权限符合我们的预期时,umask就很好用了;那如何创建和删除一批文件呢(我们后续也可能会用到,这里先看看),注意下面的演示。
# 此时的umask是 0077,能让下面所有文件都达到不让所属组和other有任何权限的目的。
# 创建一批文件
[Lotso@VM-4-4-centos 118]$ touch hello{1..100}.txt
[Lotso@VM-4-4-centos 118]$ ll
total 4
drwx------ 2 Lotso Lotso 4096 Oct 30 11:18 dir
-rw------- 1 Lotso Lotso    0 Oct 30 11:56 hello100.txt
-rw------- 1 Lotso Lotso    0 Oct 30 11:56 hello10.txt
-rw------- 1 Lotso Lotso    0 Oct 30 11:56 hello11.txt
-rw------- 1 Lotso Lotso    0 Oct 30 11:56 hello12.txt
-rw------- 1 Lotso Lotso    0 Oct 30 11:56 hello13.txt
-rw------- 1 Lotso Lotso    0 Oct 30 11:56 hello14.txt
-rw------- 1 Lotso Lotso    0 Oct 30 11:56 hello15.txt
-rw------- 1 Lotso Lotso    0 Oct 30 11:56 hello16.txt
-rw------- 1 Lotso Lotso    0 Oct 30 11:56 hello17.txt
-rw------- 1 Lotso Lotso    0 Oct 30 11:56 hello18.txt
-rw------- 1 Lotso Lotso    0 Oct 30 11:56 hello19.txt
-rw------- 1 Lotso Lotso    0 Oct 30 11:56 hello1.txt
………………………… #省略# 删除一批文件
[Lotso@VM-4-4-centos 118]$ rm -rf hello{1..100}.txt
[Lotso@VM-4-4-centos 118]$ ll
total 4
drwx------ 2 Lotso Lotso 4096 Oct 30 11:18 dir
-rw------- 1 Lotso Lotso    0 Oct 30 11:18 text.txt

三. file 指令:文件类型的 “识别器”

3.1 功能和语法

file 指令的核心作用就是辨识文件类型,语法为:file [选项] 文件或者目录 …

3.2 常用选项和实际案例

常用选项

  • -c:详细显示指令执行过程,便于排错或分析程序执行的情形。
  • -z:尝试去解读压缩文件的内容。

实际案例

# 辨识文件类型
[Lotso@VM-4-4-centos 118]$ file text.txt
text.txt: empty
[Lotso@VM-4-4-centos 118]$ file /usr/bin/ls
/usr/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=c8ada1f7095f6b2bb7ddc848e088c2d615c3743e, stripped
[Lotso@VM-4-4-centos 118]$ file /usr/bin/yum
/usr/bin/yum: Python script, ASCII text executable

四. 目录权限:容易踩坑的 “特殊逻辑”

4.1 目录权限的核心规则

这个也是我们最上面解决第1个问题的核心关键
目录的权限与文件权限有本质区别,需重点理解三点:

  • 可执行权限(x):无 x 权限则无法cd进入目录;
  • 可读权限(r):无 r 权限则无法用ls等命令查看目录内文件;
  • 可写权限(w):无 w 权限则无法在目录中创建、删除文件。

在这里插入图片描述
关键坑点:只要用户对目录有w权限,就可以删除目录内的所有文件,无论该用户是否有文件本身的写权限。
我们直接拿上篇博客中最后的模拟示例来看看

# 1. root设置/home目录为777(所有用户可写)
[root@bite-alicloud ~]$ chmod 777 /home
[root@bite-alicloud ~]$ ls -ld /home
drwxrwxrwx. 3 root root 4096 Oct 22 15:58 /home# 2. root在/home创建root.c(所有者为root)
[root@bite-alicloud ~]$ touch /home/root.c
[root@bite-alicloud ~]$ ls -l /home/root.c
-rw-r--r--. 1 root root 0 Oct 22 15:59 /home/root.c# 3. 普通用户litao删除root.c(因/home有写权限,成功删除)
[root@bite-alicloud ~]$ su - litao
[litao@localhost ~]$ rm /home/root.c
rm: remove regular empty file '/home/root.c'? y  # 确认删除
[litao@localhost ~]$ ls /home/root.c  # 验证删除
ls: cannot access '/home/root.c': No such file or directory

第3个问题解答以及图示解析

4.2 补充:Linux下的共享文件话题

我们这里再补充一个Linux下共享文件的操作,直接用图片展示给大家
在这里插入图片描述
–大家在上图中可以发现,我们引入了粘滞位去满足我们的需求解决一些问题,那么下面这个上次遗留下来的问题也可以得到解决了。我们接着来看下个版块吧。
在这里插入图片描述


五. 粘滞位:解决目录权限 “不科学” 的方案

为了修复 “用户可删除目录内他人文件” 的问题,Linux 引入了粘滞位(Sticky Bit)机制。

5.1 功能与设置

给目录添加粘滞位后,该目录下的文件仅能由三类主体删除

  • 超级管理员(root);
  • 该目录的所有者(这点不那么重要,知道就行);
  • 该文件的所有者。

设置粘滞位的指令为

chmod +t 目录名

5.2 实际使用案例

简单演示(大家可以自己去试试)

[root@localhost ~]$ chmod +t /home/ # 加上粘滞位
[root@localhost ~]$ ls -ld /home/
drwxrwxrwt. 3 root root 4096 919 16:00 /home/
[root@localhost ~]$ su - litao
[litao@localhost ~]$ rm /home/abc.c #litao不能删除别⼈的⽂件
rm:是否删除有写保护的普通空⽂件 "/home/abc.c"?y
rm: ⽆法删除"/home/abc.c": 不允许的操作

结尾:

🍓 我是草莓熊 Lotso!若这篇技术干货帮你打通了学习中的卡点:
👀 【关注】跟我一起深耕技术领域,从基础到进阶,见证每一次成长
❤️ 【点赞】让优质内容被更多人看见,让知识传递更有力量
⭐ 【收藏】把核心知识点、实战技巧存好,需要时直接查、随时用
💬 【评论】分享你的经验或疑问(比如曾踩过的技术坑?),一起交流避坑
🗳️ 【投票】用你的选择助力社区内容方向,告诉大家哪个技术点最该重点拆解
技术之路难免有困惑,但同行的人会让前进更有方向~愿我们都能在自己专注的领域里,一步步靠近心中的技术目标!

结语:从umask对新文件权限的初始调控,到file对文件类型的识别,再到sudo实现的权限交接、目录权限的特殊逻辑,最后到粘滞位对目录安全的补强 —— 这些知识点共同构成了 Linux 权限管理的完整图景。理解这些内容,不仅能帮你规避 “权限被拒”“误删文件” 等常见问题,更能让你在多用户协作、系统运维场景中,精准控制资源访问边界,筑牢 Linux 系统的安全防线。后续学习中,可结合实际场景(如搭建 Web 服务、配置数据库权限)进一步实践,让这些理论真正转化为实操能力。

✨把这些内容吃透超牛的!放松下吧✨
ʕ˘ᴥ˘ʔ
づきらど

在这里插入图片描述

http://www.dtcms.com/a/568410.html

相关文章:

  • 医疗小程序02用户注册
  • 北京网站搭建服务58网站怎么样做效果会更好
  • Android 图像显示框架三——演示demo以及解析
  • Python实用技巧:批量处理Excel数据并生成销售报表(含实战案例)
  • nodered 下载 excel 文件
  • Java: 如何在Excel中添加或删除分页符?
  • 处理wangEditor编辑器缩进问题
  • linux挂载系统盘[ubuntu22 2025年11月]
  • 如何修改Linux下screenfetch的默认ASCII 艺术logo ?
  • 用于 Liferay 的 ONLYOFFICE 连接器已更新至 3.1.0 版本:升级后的编辑器、图表查看器和更多支持的文件格式
  • 山东正元建设网站企业门户网站开发费用
  • 网站关键词优化的价格软件开发周期
  • 在 Windows 中基于 WSL 子系统 Ubuntu 安装配置 conda 示例
  • 怎么做饲料电商网站网络推广平台cpa
  • php网站本地搭建wordpress 密码 算法
  • 咖啡网站建设设计规划书公众号二次开发
  • 网站建设服务市场分析高中信息技术课网站怎么做
  • 合肥企业建站程序建筑网站图片
  • 泉州网站制作网页名表网站
  • 温州seo网站管理网站建设遇到的问题
  • 泰安市两学一做网站扬州网站开发
  • 图片在线制作加字现在的seo1发布页在哪里
  • 营销网站建设报价付费查看wordpress
  • 天津网站优化公司电话未来网站建设想法
  • 动易6.8网站头怎么做电商卖东西
  • 电子商务网站建设合同wordpress临时关闭站点
  • 建设网站收取广告费用产品宣传短视频
  • 做婚纱摄影网站多少钱企业一站式网站建设
  • 网站中的ppt链接怎么做的大学生网站建设小结
  • 个人网站建设模板企业创建网站