Linux基础:Sticky Bit(粘滞位)使用说明

Sticky Bit是Linux/Unix系统中的一种特殊权限,最初用于减少程序执行延迟,现主要用于保护Owner创建的文件不被其他用户删除。常见于/tmp目录。设定或取消Sticky Bit可通过chmod命令。当 Others 缺少执行权限时,Sticky Bit显示为T。在带有Sticky Bit的目录中,非Owner用户不能删除Owner的文件,而同一组用户可以进行操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
Sticky Bit是Linux或Unix系统下的一种特殊的权限标识位,它可以赋予文件或者目录。而被赋予此权限位的文件或者目录可以实现只有Owner或者root才可以进行移动、删除或者重命名操作。

Sticky Bit的起源

Sticky Bit并不是一个新的概念,而事实上早在1974年它就被引入了Unix操作系统中了,而当时引入的目的则是不同的,是用于降低每次应用程序执行时的时间延迟,程序在执行时,首先要加载至内存之中,在用户使用之前会需要一些时间,Sticky Bit为了对此进行改善而引入,操作系统会检测是否设定了Sticky Bit,如果设定了,会将可执行程序的text段数据保存在交换空间(swap)中,通过swap的使用降低了反复使用情况下的时间延迟。而当下Sticky Bit主要应用在是否允许其他用户来删除Owner创建的文件或者目录。

不同操作系统的实现

可以看到本文示例的Linux操作系统下对于文件的Sticky Bit是无视的,而事实上不同的操作系统动作可能是不同的,一部分操作系统关于Sticky Bit的实现如下图所示:
在这里插入图片描述

使用示例

Linux操作系统的/tmp目录一般缺省会在Others组设定此权限位

[root@liumiaocn ~]# uname -a
Linux liumiaocn 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@liumiaocn ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
[root@liumiaocn ~]# ls -ld /tmp
drwxrwxrwt. 14 root root 4096 Dec  8 23:01 /tmp
[root@liumiaocn ~]#

设定/取消方法

  • 事前准备
    创建3个目录用于设定Sticky Bit
[root@liumiaocn ~]# ls -ld /root
dr-xr-x---. 12 root root 4096 Dec  9 02:10 /root
[root@liumiaocn ~]# mkdir stickybit
[root@liumiaocn ~]# cd stickybit/
[root@liumiaocn stickybit]# mkdir dir_stickybit1 dir_stickybit2 dir_stickybit3
[root@liumiaocn stickybit]# ls -l
total 0
drwxr-xr-x. 2 root root 6 Dec  9 02:14 dir_stickybit1
drwxr-xr-x. 2 root root 6 Dec  9 02:14 dir_stickybit2
drwxr-xr-x. 2 root root 6 Dec  9 02:14 dir_stickybit3
[root@liumiaocn stickybit]#
  • 设定方法

设定方法:chmod +t 目录或者文件名

或者

设定方法:chmod o+t 目录或者文件名

或者

设定方法:chmod a+t 目录或者文件名

无论使用哪种方式,Sticky Bit只能设定到Others组上,在显示上替代了原先的x执行选项。比如:

[root@liumiaocn stickybit]# chmod o+t dir_stickybit1
[root@liumiaocn stickybit]# ls -ld dir_stickybit1
drwxr-xr-t. 2 root root 6 Dec  9 02:14 dir_stickybit1
[root@liumiaocn stickybit]#
  • 取消方法

取消方法:chmod -t 目录或者文件名

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值