Linux粘滞位(Sticky Bit)的完全使用指南

 更新时间:2026年09月04日 08:40:52   作者:sulikey  
在共享目录中,写权限可能导致用户误删他人文件,本文介绍粘滞位(Sticky Bit)的作用和设置方法,通过chmod +t命令限制删除权限,确保只有文件所有者或root能删除文件,适用于/tmp目录、团队共享和公共资源目录,提升Linux系统安全性,需要的朋友可以参考下

创建了一个所有人都能写的共享目录,却发现任何人都能删别人的文件?这时候就需要粘滞位(Sticky Bit)登场了!

共享目录的尴尬问题

假设我们创建了一个共享目录 /my_shared,并给所有人开放了写权限:

sudo mkdir /my_shared
sudo chmod o+w /my_shared

此时:

  • √用户 A 可以在目录里创建文件
  • √用户 B 可以在目录里创建文件
  • ×用户 A 可以删除用户 B 创建的文件!

这就是共享目录的尴尬:写权限意味着可以删除目录下的任何文件,包括别人创建的文件。

粘滞位

粘滞位(Sticky Bit)是 Linux 提供的一种特殊权限,专门用于解决上述问题。

如何设置粘滞位?

# 给目录添加粘滞位
sudo chmod +t /my_shared

# 查看权限,末尾的 t 表示粘滞位
ls -ld /my_shared
# drwxrwxrwt 1 root root 4096 ... /my_shared

设置粘滞位后,目录下的文件只能由以下角色删除:

  1. 超级管理员(root)
  2. 目录的所有者
  3. 文件的所有者

普通用户只能删除自己创建的文件,无法动别人的"奶酪"!

粘滞位的权限表示

显示方式

ls -ld /tmp
# drwxrwxrwt 10 root root 4096 ... /tmp

# 拆解:
# d         -> 目录
# rwx       -> 所有者权限(读、写、执行)
# rwx       -> 所属组权限
# rwt       -> 其他人权限(末尾的 t 表示粘滞位)
  • 小写 t:表示目录有执行权限 + 粘滞位
  • 大写 T:表示目录没有执行权限,但有粘滞位(不常见)

数字形式

# 权限数字 = 正常权限 + 粘滞位(1)
# 775 + 1 = 1775

sudo chmod 1775 /my_shared

粘滞位的典型应用场景

1. /tmp 目录

Linux 系统的 /tmp 目录就是最典型的粘滞位应用:

ls -ld /tmp
# drwxrwxrwt 17 root root 4096 ... /tmp

所有用户都能在 /tmp 下创建临时文件,但只能删除自己创建的文件,避免了"混乱删除"的问题。

2. 项目共享目录

多人协作的开发环境:

# 项目组共享目录
sudo mkdir /project/shared
sudo chown :developers /project/shared
sudo chmod 1777 /project/shared

3. 公共下载目录

团队内部的资源分享目录:

sudo mkdir /downloads
sudo chmod 1777 /downloads

原理:粘滞位如何工作?

从内核角度理解:

  1. 当用户对目录有 写权限 时,可以删除目录下的文件
  2. 但如果目录设置了 粘滞位,内核会在删除操作前额外检查:
    • 当前用户是否是文件的所有者?
    • 当前用户是否是目录的所有者?
    • 当前用户是否是 root?

只有满足上述条件之一,删除操作才会被允许。

实战:创建一个安全的共享目录

# 1. 创建共享目录(需要 root 权限)
sudo mkdir /team_workspace

# 2. 设置所有者(假设是 team 组)
sudo chown :team /team_workspace

# 3. 给组用户完整权限,给其他人读和执行权限(770)
sudo chmod 770 /team_workspace

# 4. 添加粘滞位,防止成员误删他人文件
sudo chmod +t /team_workspace

# 5. 查看最终权限
ls -ld /team_workspace
# drwxrwsr-t 2 root team 4096 ... /team_workspace

总结

  1. 粘滞位(Sticky Bit) 是共享目录的"保护神"
  2. 设置命令:chmod +t 目录名
  3. 效果:只能删除自己创建的文件,无法删除他人文件
  4. 典型应用: /tmp、团队共享目录、公共资源目录

免责声明

本文仅用于学习交流 Linux 权限机制。实际使用中请根据团队需求合理设置权限,敏感目录建议配合 ACL 使用!

到此这篇关于Linux粘滞位(Sticky Bit)的完全使用指南的文章就介绍到这了,更多相关Linux粘滞位(Sticky Bit)使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux内存管理和寻址详细介绍

    Linux内存管理和寻址详细介绍

    大家好,本篇文章主要讲的是Linux内存管理和寻址详细介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Linux操作系统之逻辑卷管理LVM详解

    Linux操作系统之逻辑卷管理LVM详解

    文章介绍了Linux系统中的逻辑卷管理(LVM)技术,包括LVM的基本概念、卷类型(线性卷、条带卷)、操作(创建物理卷、卷组、逻辑卷,挂载等)和扩容等方法,以及常用命令总结,Lvm提供灵活的的存储管理方式,适用于需要动态扩展存储空间的场景
    2026-04-04
  • Linux物理机区分SSD与HDD的常见方法

    Linux物理机区分SSD与HDD的常见方法

    在 Linux 系统中,我们经常需要确认一块硬盘究竟是 固态硬盘 (SSD) 还是 机械硬盘 (HDD),以便做合理的存储规划和性能评估,本文给大家介绍了Linux物理机区分SSD与HDD的常见方法,需要的朋友可以参考下
    2025-09-09
  • Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法

    Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法

    这篇文章主要介绍了Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • Linux centos下php安装cphalcon扩展的方法

    Linux centos下php安装cphalcon扩展的方法

    这篇文章主要介绍了Linux下php安装cphalcon扩展的方法,需要的朋友可以参考下
    2017-02-02
  • 浅谈Linux vfork与fork简单对比分析

    浅谈Linux vfork与fork简单对比分析

    本篇文章主要介绍了浅谈Linux vfork与fork简单对比分析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Linux QT Kit丢失及Version为空问题解决方案

    Linux QT Kit丢失及Version为空问题解决方案

    这篇文章主要介绍了Linux QT Kit丢失及Version为空问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • CentOS下.htaccess不起作用的解决方法

    CentOS下.htaccess不起作用的解决方法

    PHP 5.2的问题解决后,现在就是安装WordPress了。装好了没有任何问题,接下来继续配置WordPress,开启静态URL链接。然后手动编辑了.htaccess文件,将WordPress生成的相关代码拷贝进去了。
    2011-04-04
  • 配置Linux使用LDAP用户认证的方法

    配置Linux使用LDAP用户认证的方法

    这篇文章主要介绍了配置Linux使用LDAP用户认证的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • Centos7下面如何配置静态IP

    Centos7下面如何配置静态IP

    本篇文章主要介绍了Centos7下面如何配置静态IP,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05

最新评论