Sticky BIT,简称 SBIT 特殊权限,可意为粘着位、粘滞位、防删除位等。

SBIT 权限仅对目录有效,一旦目录设定了 SBIT 权限,则用户在此目录下创建的文件或目录,就只有自己和 root 才有权利修改或删除该文件。

也就是说,当甲用户以目录所属组或其他人的身份进入 A 目录时,如果甲对该目录有 w 权限,则表示对于 A 目录中任何用户创建的文件或子目录,甲都可以进行修改甚至删除等操作。但是,如果 A 目录设定有 SBIT 权限,那就大不一样啦,甲用户只能操作自己创建的文件或目录,而无法修改甚至删除其他用户创建的文件或目录。

举个例子,Linux 系统中,存储临时文件的 /tmp 目录就设定有 SBIT 权限:

[root@localhost ~]# ll -d /tmp

drwxrwxrwt. 4 root root 4096 Apr 19 06:17 /tmp

可以看到,在其他人身份的权限设定中,原来的 x 权限位被 t 权限占用了,这就表示此目录拥有 SBIT 权限。通过下面一系列的命令操作,我们来具体看看 SBIT 权限对 /tmp 目录的作用。

[root@localhost ~]# useradd lamp

[root@localhost ~]# useradd lamp1

#建立测试用户lamp和lamp1,省略设置密码过程

[root@localhost ~]# su -lamp

#切换为lamp用户

[lamp@localhost ~]$ cd /tmp

[lamp@localhost tmp]$ touch ftest

#建立测试文件

[lamp@localhost tmp]$ll ftest

-rw-rw-r-- 1 lamp lamp Apr 19 06:36 ftest

[lamp@localhost tmp]$ su - lamp1

#省略输入lamp1用户密码的过程,切换成lamp1用户

[lamp1 @localhost ~]$ cd /tmp/

[lamp1 @localhost tmp]$ rm -rf ftest

rm:cannot remove 'ftest':Operation not permitted

可以看到,虽然 /tmp 目录的权限设定是 777,但由于其具有 SBIT 权限,因此 lamp 用户在此目录创建的文件 ftest,lamp1 用户删除失败。

有兴趣的读者也可以尝试使用 lamp1 用户修改 lamp 用户创建的 ftest 文件中的内容,你会发现根本修改不了,这就是 SBIT 权限的作用。

linux 添加sbit权限,Linux Stick BIT(SBIT)文件特殊权限用法详解相关推荐

  1. 使用ls命令查看Linux的目录结构,linux查看工作目录文件ls命令用法详解

    查看工作目录文件ls ls命令是Linux下最常用的命令.ls命令就是list的缩写.默认情况下ls用来查看当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单.通过ls命令 ...

  2. linux中mkswap命令使用方法,mkswap命令_Linux mkswap 命令用法详解:建立和设置SWAP交换分区...

    mkswap命令用于在一个文件或者设备上建立交换分区.在建立完之后要使用sawpon命令开始使用这个交换区.最后一个选择性参数指定了交换区的大小,但是这个参数是为了向后兼容设置的,没有使用的必要,一般 ...

  3. linux系统预定义变量有哪些,Shell预定义变量用法详解

    预定义变量是在 Shell 一开始时就定义的变量,这一点和默认环境变量有些类似.不同的是,预定义变量不能重新定义,用户只能根据 Shell 的定义来使用这些变量. 严格来说,位置参数变量也是预定义变量 ...

  4. Linux学习总结(37)——CentOS7下Firewall防火墙配置用法详解

    centos 7中防火墙是一个非常的强大的功能了,但对于centos 7中在防火墙中进行了升级了,下面我们一起来详细的看看关于centos 7中防火墙使用方法. FirewallD 提供了支持网络/防 ...

  5. linux getline函数用法,Linux文本处理三剑客之awk学习笔记05:getline用法详解

    getline用法详解 在默认情况下,awk支持从文件或者STDIN中读取数据.我们也可以使用getline来灵活读取数据,例如在main代码块执行过程中读取某个非待处理文件的数据,或者从某个读取某个 ...

  6. linux消息队列消息清空函数,ipcrm命令_Linux ipcrm 命令用法详解:删除消息队列、信号集、或者共享内存标识...

    ipcrm命令用来删除一个或更多的消息队列.信号量集或者共享内存标识. 语法ipcrm [ -m SharedMemoryID ] [ -M SharedMemoryKey ] [ -q Messag ...

  7. linux控制风扇转速的命令,sensors命令_Linux sensors 命令用法详解:sensors命令获得设备的温度和风扇转速...

    lm_sensors 命令 lm_sensors 安装yum -y install lm_sensors ##接着执行 sensors-detect 命令,一路yes到底即可 sensors 选项Us ...

  8. linux 弹出窗口,实现弹出窗口的window.open用法详解(js代码)

    实现弹出窗口的window.open用法详解(js代码) [1.最基本的弹出窗口代码] 其实代码非常简单: 因为这是一段javascripts代码,所以它们应该放在 cript">标签 ...

  9. Linux下find命令用法详解

    Linux下find命令用法详解 学神VIP烟火 学神IT教育:XueGod-IT 最负责任的线上直播教育平台 本文作者为VIP学员 烟火 第一部分:根据文件名查找 1.在当前目录查找名称为test的 ...

  10. linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)

    linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...

最新文章

  1. Step by Step WebMatrix网站开发之二:使用WebMatrix(1)
  2. 中消协发布2018年春节消费提示
  3. Swift中的选项集合
  4. Spring MVC 多选框 绑定 Entity 中的 list 属性
  5. Python 百度面试题
  6. 风控建模 python 知乎_风控建模基本要求及面试问题小结
  7. 嵌入式开发中常用的几种通信接口总结
  8. fputc会覆盖吗_蔬菜覆盖地膜有什么好处?选择什么膜好?
  9. Matlab代码提示“svmtrain已删除 请改用fitcsvm”,以及svmpredict没有返回结果label和精度accuracy的解决办法
  10. Hive集成Mysql作为元数据时,提示错误:Specified key was too long; max key length is 767 bytes...
  11. 开启Ubuntu root 远程登录
  12. Springboot中常用的注解
  13. 字子序列中英翻译模型(五笔特征)
  14. 计算机开机自检时,电脑开机启动时出现DHCP自检怎么办
  15. “别人家”的毕设:造了个车!拆装驾驶一步到位,宅家5个月,设计建模组装自行完成
  16. mysql自动填充测试数据库_入门篇(三):通过填充器快速填充测试数据
  17. 推荐系统学习之评测指标
  18. 各大跨境电商卖家不容错过下半年的促销活动安排
  19. 《网络攻防》Web安全基础实践
  20. VMWare workstation 和 player区别

热门文章

  1. php think queue work,GitHub - top-think/think-queue: ThinkPHP 队列支持
  2. computed使用场景
  3. 电磁兼容原理、方法及设计的科普好文
  4. Spark整理:spark 任务调度
  5. Dreamweaver 盒模型
  6. 适用于10G/25G/40G/100G的Base-8 MTP/MPO结构化布线解决方案
  7. Java诺曼底 www.javanmd.com
  8. 简单验证码输入框样式
  9. 机械键盘写代码嗖嗖嗖!免费包邮送到家
  10. Lane_GCN翻译