Linux 粘着位(sticky bit)

当设置粘着位时只有root或者owner才能删除、重命名文件。

示例:

用户apple默认组为fruit。

[[email protected] ~]# id apple

uid=1001(apple) gid=1001(fruit) 组=1001(fruit)

step1 显示water文件夹信息,文件夹当前未设置粘着位。

[[email protected] /]# ls -l | grep water

drwxr-xrwx.   4 root root  4096 8月  10 21:02 water

step2 显示water子文件夹信息。

[[email protected] /]# ls -l water

总用量 8

drwxr-xr-x. 2 root root 4096 8月  10 21:02 mineral

drwxr-xr-x. 2 root root 4096 8月  10 21:02 pure

step3 删除mineral文件夹。

[[email protected] water]$ rm -r mineral/

rm:是否删除有写保护的目录 ‘mineral/‘?y

step4 显示water子文件夹信息。

[[email protected] water]$ ls -l

总用量 4

drwxr-xr-x. 2 root root 4096 8月  10 21:02 pure

step5 对water文件夹设置粘着位。

[[email protected] /]# chmod o+t water

[[email protected] /]# ls -l | grep water

drwxr-xrwt.   3 root root  4096 8月  10 21:08 water

step6 以apple用户删除pure文件夹。

[[email protected] water]$ rm -r pure

rm:是否删除有写保护的目录 ‘pure‘?y

rm: 无法删除‘pure‘: Operation not permitted

step7 以root用户删除pure文件夹。

[[email protected] water]# rm -r pure/

rm:是否删除目录 ‘pure/‘?y

step8 显示water子文件夹信息。

[[email protected] water]# ls -l

总用量 0

时间: 2024-10-10 16:38:54

Linux 粘着位(sticky bit)的相关文章

linux粘着位

在linux中,如果对一个目录具有写权限,那么我们就可以在这个目录下创建删除文件. 现在我们要创建这样一个目录,我们可以在这个目录里创建文件,但是其他用户不能删除这个文件. 在这里就要用到一个特殊的权限:粘着位 在linux中有三种特殊权限,分别为: SetUID  =  4:在所有者设置的权限 SetGID  =  2:在所属组设置的权限 粘着位  =  1:在其他人的位置设置的  (使用  t  来表示) 一.SBIT粘着位权限的作用 如果用户对目录有写权限,则可以删除其中的文件和子目录,即

Linux文件和目录的粘滞位(sticky bit)带来的困惑(转)

今天维护系统时发现一个非常诡异的问题:AAA用户和BBB用户同属AAA组,但用AAA用户创建的文件,权限设置为777后,还是不能用BBB用户删除.诡异! 几经周转,发现AAA用户创建文件位置的上层目录的权限是drwxrwxrwt,做开发这么多年了,还没见过所谓"t"的权限,于是找了一位公司的linux大师帮忙,大师噼里啪啦的做了一堆试验后,然后在google上搜索"rwt linux",终于发现了问题,发现这种用法的名字是"文件的粘滞位(sticky)位&

Linux文件和目录的粘滞位(sticky bit)

今天维护系统时发现一个非常诡异的问题:AAA用户和BBB用户同属AAA组,但用AAA用户创建的文件,权限设置为777后,还是不能用BBB用户删除.诡异! 几经周转,发现AAA用户创建文件位置的上层目录的权限是drwxrwxrwt,做开发这么多年了,还没见过所谓"t"的权限,于是找了一位公司的linux大师帮忙,大师噼里啪啦的做了一堆试验后,然后在google上搜索"rwt linux",终于发现了问题,发现这种用法的名字是"文件的粘滞位(sticky)位&

linux shell基础语法

1.第一个Shell脚本 打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了. 输入一些代码: #!/bin/bash echo "Hello World !" "#!" 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell.echo命令用于向窗口输出文本. 运行Shell脚本有两种方法. 1.1作为可执行程序 将上面的代码保存为t

linux shell 使用总结

为什么执行脚本要使用./ +脚本名来执行脚本理解:因为如果直接使用脚本名,那么linux 系统会去path 路径查找如去/bin usr/bin 等查找,这个时候会找不到这个脚本名字,就会报错.使用./ 这个时候就相当于告诉系统要在当前路径底下查找. 通过简单例子来分析for 循环的使用 #!/bin/bashfor skill in Ada Coffe Action Javado echo "I am good at ${skill}Script"done 从实际使用过程发现for

linux基础命令(一)

符号链接 ln -s ~/projiect/haha/ link1 //在当前目录下创建指向~/projiect/haha目录的符号链接,对link1目录下的文件的操作即是对projiect目录下文件的操作 rm  link1     删除链接, 但~/projiect/haha/目录下的内容没有变 rm -r link1/    projiect/haha下的被文件删除   链接link1 没有被删除,显示:  无法删除"link": 不是目录 ln -s ~/projiect/ha

Linux chmod命令用法

chmod----改变一个或多个文件的存取模式(mode) chmod [options] mode files 只能文件属主或特权用户才能使用该功能来改变文件存取模式.mode可以是数字形式或以who opcode permission形式表示.who是可选的,默认是a(所有用户).只能选择一个opcode(操作码).可指定多个mode,以逗号分开. options: -c,--changes 只输出被改变文件的信息 -f,--silent,--quiet 当chmod不能改变文件模式时,不通

粘滞位(sticky bit)

linux特殊权限:setUid, setGid, 粘着位(sticky) (1)目录的X权限(执行) 文件的可执行权限很简单,也就是可否执行它的意思,但目录的执行权限又代表什么意思呢? 当然不可能是要执行这个目录了,其实这个执行权限如果用在目录上时,它不再代表执行的意思了,而是代表"搜索"权限. 当你要访问/etc/httpd.conf文件时,你必须拥有对目录etc的X(即搜索)权限,否则即便你对目录/etc和文件httpd.conf拥有读取权限,也是无法访问httpd.conf这个

linux文件权限与目录配置

一.Linux文件属性及权限1.文件/目录属性查看(1)文件属性查看[[email protected] ~]# ls -l file   -      rw-r--r--.     1             root      root    0        11月 15 23:55         file  类型       文件权限     连接数        文件所有人  文件所有组    大小    最后一次被修改的时间    名字(2)查看目录属性[[email protec