linux 添加sbit权限,Linux Stick BIT(SBIT)文件特殊权限用法详解
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)文件特殊权限用法详解相关推荐
- 使用ls命令查看Linux的目录结构,linux查看工作目录文件ls命令用法详解
查看工作目录文件ls ls命令是Linux下最常用的命令.ls命令就是list的缩写.默认情况下ls用来查看当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单.通过ls命令 ...
- linux中mkswap命令使用方法,mkswap命令_Linux mkswap 命令用法详解:建立和设置SWAP交换分区...
mkswap命令用于在一个文件或者设备上建立交换分区.在建立完之后要使用sawpon命令开始使用这个交换区.最后一个选择性参数指定了交换区的大小,但是这个参数是为了向后兼容设置的,没有使用的必要,一般 ...
- linux系统预定义变量有哪些,Shell预定义变量用法详解
预定义变量是在 Shell 一开始时就定义的变量,这一点和默认环境变量有些类似.不同的是,预定义变量不能重新定义,用户只能根据 Shell 的定义来使用这些变量. 严格来说,位置参数变量也是预定义变量 ...
- Linux学习总结(37)——CentOS7下Firewall防火墙配置用法详解
centos 7中防火墙是一个非常的强大的功能了,但对于centos 7中在防火墙中进行了升级了,下面我们一起来详细的看看关于centos 7中防火墙使用方法. FirewallD 提供了支持网络/防 ...
- linux getline函数用法,Linux文本处理三剑客之awk学习笔记05:getline用法详解
getline用法详解 在默认情况下,awk支持从文件或者STDIN中读取数据.我们也可以使用getline来灵活读取数据,例如在main代码块执行过程中读取某个非待处理文件的数据,或者从某个读取某个 ...
- linux消息队列消息清空函数,ipcrm命令_Linux ipcrm 命令用法详解:删除消息队列、信号集、或者共享内存标识...
ipcrm命令用来删除一个或更多的消息队列.信号量集或者共享内存标识. 语法ipcrm [ -m SharedMemoryID ] [ -M SharedMemoryKey ] [ -q Messag ...
- linux控制风扇转速的命令,sensors命令_Linux sensors 命令用法详解:sensors命令获得设备的温度和风扇转速...
lm_sensors 命令 lm_sensors 安装yum -y install lm_sensors ##接着执行 sensors-detect 命令,一路yes到底即可 sensors 选项Us ...
- linux 弹出窗口,实现弹出窗口的window.open用法详解(js代码)
实现弹出窗口的window.open用法详解(js代码) [1.最基本的弹出窗口代码] 其实代码非常简单: 因为这是一段javascripts代码,所以它们应该放在 cript">标签 ...
- Linux下find命令用法详解
Linux下find命令用法详解 学神VIP烟火 学神IT教育:XueGod-IT 最负责任的线上直播教育平台 本文作者为VIP学员 烟火 第一部分:根据文件名查找 1.在当前目录查找名称为test的 ...
- linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)
linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...
最新文章
- Step by Step WebMatrix网站开发之二:使用WebMatrix(1)
- 中消协发布2018年春节消费提示
- Swift中的选项集合
- Spring MVC 多选框 绑定 Entity 中的 list 属性
- Python 百度面试题
- 风控建模 python 知乎_风控建模基本要求及面试问题小结
- 嵌入式开发中常用的几种通信接口总结
- fputc会覆盖吗_蔬菜覆盖地膜有什么好处?选择什么膜好?
- Matlab代码提示“svmtrain已删除 请改用fitcsvm”,以及svmpredict没有返回结果label和精度accuracy的解决办法
- Hive集成Mysql作为元数据时,提示错误:Specified key was too long; max key length is 767 bytes...
- 开启Ubuntu root 远程登录
- Springboot中常用的注解
- 字子序列中英翻译模型(五笔特征)
- 计算机开机自检时,电脑开机启动时出现DHCP自检怎么办
- “别人家”的毕设:造了个车!拆装驾驶一步到位,宅家5个月,设计建模组装自行完成
- mysql自动填充测试数据库_入门篇(三):通过填充器快速填充测试数据
- 推荐系统学习之评测指标
- 各大跨境电商卖家不容错过下半年的促销活动安排
- 《网络攻防》Web安全基础实践
- VMWare workstation 和 player区别