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

Linux_T(Sticky Bit)粘滞位详解

Linux 粘滞位(Sticky Bit)详解

一、什么是粘滞位(Sticky Bit)

粘滞位(Sticky Bit)是 Linux 和 Unix 系统中一种特殊的权限设置,主要应用于目录,其作用是在多人共享访问的目录中,防止用户删除他人创建的文件

作用总结:

  • 所有用户可以在目录中创建文件;
  • 只有文件的所有者或 root 用户才能删除该文件
  • 粘滞位常用于 /tmp、公共工作目录 /work 等共享目录中。

二、权限表示与原理

当目录启用了粘滞位后,使用 ls -ld 命令查看权限时,权限字符串的最后一位会变为 tT

  • t:表示粘滞位已启用,且目录对所有人有执行权限;
  • T:表示粘滞位已启用,但目录对其他用户没有执行权限

示例:

drwxrwxrwt 7 root root 4096 Jun 2 11:00 /tmp

三、命令用法总结

添加粘滞位

chmod o+t 目录名

删除粘滞位

chmod o-t 目录名

查看权限

ls -ld 目录名

四、实战演示:共享目录防误删

场景:多人共享目录 /work

需求:允许所有用户写入,但只能删除自己创建的文件。

Step 1:root 设置共享目录

mkdir /work
chmod 777 /work
touch /work/root.txt

Step 2:普通用户 wangwu 删除 root 文件(未设置粘滞位)

su - wangwu
rm /work/root.txt   # 成功删除

Step 3:root 启用粘滞位

chmod o+t /work
ls -ld /work         # 权限显示 drwxrwxrwt

Step 4:wangwu 再次尝试删除 root 文件

rm /work/root1.txt   # 删除失败

五、权限对比示意图

权限设置是否可删除他人文件是否可写入示例目录
777✅ 是✅ 是/tmp 无粘滞位(不安全)
777 + o+t❌ 否✅ 是/tmp/work 安全共享
755❌ 否(仅属主)🚫 否(其他用户)常规只读目录

六、粘滞位与 chmod 数字权限的结合

粘滞位对应数字权限中的“1”,位于最高位,即第四位(特殊权限位):

  • 示例:chmod 1777 /work 即为给目录设置 rwxrwxrwt 权限。
数字权限含义
1777rwxrwxrwt
0777rwxrwxrwx(无粘滞位)

七、常见误区

  1. 粘滞位对文件无效 —— 它仅作用于目录
  2. 粘滞位不影响文件读写权限 —— 它只控制删除权限;
  3. 认为粘滞位是 ACL 或 SELinux 权限替代品 —— 粘滞位是独立机制;
  4. 可以与 ACL、SELinux 一起使用以细化控制

八、日常建议

  • 推荐设置 /tmp, /var/tmp, /work 等目录为 1777
  • 创建共享目录时,统一由 root 设置粘滞位;
  • 管理员应定期检查目录权限,防止误删文件风险。

九、拓展阅读

  • man chmod 查看权限控制手册;
  • 粘滞位的历史最初是用于加速程序加载,但现在主要用于目录安全控制
  • 其他特殊位包括 SUIDSGID,用于文件执行权限控制。

🛡️ 总结:粘滞位是一种非常简单且实用的权限控制机制,尤其适用于多人操作环境中对目录的保护,是系统安全中不可忽视的一环。

http://www.lryc.cn/news/2402380.html

相关文章:

  • web3-以太坊智能合约基础(理解智能合约Solidity)
  • 高敏感应用如何保护自身不被逆向?iOS 安全加固策略与工具组合实战(含 Ipa Guard 等)
  • 【C++项目】负载均衡在线OJ系统-2
  • GC1809:高性能24bit/192kHz音频接收芯片解析
  • 2025年06月05日Github流行趋势
  • flask功能使用总结和完整示例
  • AWS 亚马逊 S3存储桶直传 前端demo 复制即可使用
  • DAY 15 复习日
  • Vue Router 导航方法完全指南
  • MidJourney入门学习
  • 2025最新Java日志框架深度解析:Log4j 2 vs Logback性能实测+企业级实战案例
  • 如何安全高效的文件管理?文件管理方法
  • 基于BI PaaS架构的衡石HENGSHI SENSE平台技术解析:重塑企业级数据分析基座
  • Hive中ORC存储格式的优化方法
  • 代码训练LeetCode(23)随机访问元素
  • 【R语言编程绘图-plotly】
  • float、double 这类 浮点数 相比,DECIMAL 是另一种完全不同的数值类型
  • 通信刚需,AI联手ethernet/ip转profinet网关打通工业技术难关
  • JavaEE->多线程:定时器
  • 6个月Python学习计划 Day 15 - 函数式编程、高阶函数、生成器/迭代器
  • <el-table>构建树形结构
  • linux——磁盘和文件系统管理
  • 云原生 DevOps 实践路线:构建敏捷、高效、可观测的交付体系
  • gateway 网关 路由新增 (已亲测)
  • ArcGIS Pro 3.4 二次开发 - 共享
  • Python html 库用法详解
  • C#异常处理进阶:精准获取错误行号的通用方案
  • 如何快速找出某表的重复记录 - 数据库专家面试指南
  • Python 训练营打卡 Day 33-神经网络
  • resolvers: [ElementPlusResolver()] 有什么用?