Linux下的文件权限

在linux下每一个文件和目录都有自己的访问权限,访问权限确定了用户能否访问文件或者目录和怎样进行访问。最为我们熟知的一个文件或目录可能拥有三种权限,分别是读、写、和执行操作,在这里不做详细说明。我们创建一个文件后系统会默认地赋予所有者读和写权限。当然我们也可以自己修改它,添加自己需要的权限。

特殊权限

但是这三种权限就足够了吗?我们现在来说说在linux下的另一个特殊权限。首先我们来看看在根目录下的一个目录tmp,可以看到tmp目录的other权限是'rwt',那么这里的t又是什么权限呢,有什么意义。

在理解这个权限之前我们先来看看tmp这个目录是存放什么东西的,linux下tmp目录是存放一些临时文件的,那么上图可以看到,该目录的所有者和组用户的权限都是rwx,对于other的权限是rwt。

我们知道如果一个目录的other权限设置有写和执行权限的话,那么别的用户也是可以在该目录下进行创建文件和删除文件等操作,我们来试一试:

现在是root用户,在它的根目录下创建了一个cur目录,并且赋予了777权限。

之后再给cur目录下新建了test1和test2两个文件,而此时我们可以看到这两个文件的other权限只有一个读权限。

现在我们切换用户到dh用户下,试着删除刚刚新建的文件,发现是完全可以删除的。那么这就存在了一个问题,像/tmp目录的权限是应该设置成"rwxrwxrwx"的,因为它要允许任何用户都能在该目录下创建、删除、移动文件等操作。但我们刚刚也看到了,我的dh用户是可以删除root用户在cur目录下创建的文件夹,那么对于tmp目录,任意用户都可以删除系统服务运行中的临时文件(别的用户的),那么这肯定是我们不想要的。

所以回到最初,我们看到tmp目录的权限是"rwxrwxrwt",这里的t就起了相当重要的作用。

粘滞位(粘着位)

上面所说的t权限就是我们在这里要讲的粘滞位(sticky bit),我们给刚刚的cur目录采用chmod o+t的方式给other用户设置粘滞位。

然后我们继续切换到dh用户,看看我们能否继续之前的删除操作:

可以看到此时我们是没有权限删除root用户创建的文件了,这也就是粘滞位的作用。

粘滞位权限便是针对此种情况设置,当⽬录被设置了粘滞位权限以后,即便⽤户对该⽬录有写⼊权限,也不能删除该⽬录中其他⽤户的⽂件数据,⽽是只有该⽂件的所有者和root⽤户才有权将其删除。设置了粘滞位之后,正好可以保持⼀种动态的平衡:允许各⽤户在⽬录中任意写⼊、删除数据,但是禁⽌随意删除其他⽤户的数据。

几点说明

对于特殊权限的添加是添加在原有的执行权限上的,所以特殊权限添加的要求需要文件或者目录本身具有可执行权限。

上图中,我去掉了cur的other的执行权限,可以看到本来't'的位置变成了'T',此时dh用户在cur目录中是不具有权限来进行一系列操作的。

那么原来的执行标志x到哪里去了呢? 系统是这样规定的, 假如本来在该位上有x, 则这些特别标志 (suid, sgid, sticky) 显示为小写字母 (s, s, t).否则, 显示为大写字母 (S, S, T) 。

注意事项

》粘滞位权限是针对目录的,对文件无效

上述的这些操作是在root用户下创建了一个test.c文件,然后添加了t权限,然而在dh用户下还是可以直接进行删除的。所以粘滞位是针对有执行权限的目录的,对于文件添加粘滞位并没有什么作用。

linux粘滞位权限,Linux中的特殊权限粘滞位(sticky bit)详解相关推荐

  1. linux mv复制命令,linux中删除复制移动文件rm,mv,cp命令详解linux操作系统 -电脑资料...

    在linux中对文件的复制删除移动分别会使用到rm,mv,cp三个命令,下面我来给大家介绍一下rm,mv,cp命令对文件的常规操作吧, 先看实例 删除复制移动文件命令 Linux代码 rm -rf / ...

  2. Linux用户、权限及改变文件所有者及文件所属组多例详解 附python代码

    https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) Linux用户.权 ...

  3. linux中etc下的hosts(本地IP解析)文件详解

    linux中etc下的hosts(本地IP解析)文件详解 1./etc/hosts(本地解析) 很多人一提到更改hostname首先就想到修改/etc/hosts文件, 认为hostname的配置文件 ...

  4. linux中用zip压缩文件,详解Linux中zip压缩和unzip解压缩命令及使用详解

    下面给大家介绍下Linux中zip压缩和unzip解压缩命令详解 1.把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩myda ...

  5. linux复制文件scp命令,Linux 中的文件复制cp命令和scp命令详解

    Linux 中的文件复制cp命令和scp命令详解 在使用操作系统的使用过程中,常常需要复制文件到本地或者传输文件到其他电脑上,这时候用到两个命令cp和scp. cp命令用来复制文件或者目录.scp是s ...

  6. linux命令wget的url路径太长,Linux中WGET下载https链接及WGET命令的详解

    Linux中WGET下载https链接及WGET命令的详解 使用如下的命令下载https链接: ```bash wget -r -np -nd --accept=gz --no-check-certi ...

  7. python什么意思k_对python中的*args与**kwgs的含义与作用详解

    对python中的*args与**kwgs的含义与作用详解 在定义函数的时候参数通常会使用 *args与**kwgs,形参与实参的区别不再赘述,我们来解释一下这两个的作用. *args是非关键字参数, ...

  8. php中单引号,php中的单引号、双引号和转义字符详解

    PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name):最大的区别是: 双引号会替换变量的值,而单引号会把它当做字符串输出. 例如: 结果: 字符串$name 字符 ...

  9. PHP中IP地址与整型数字互相转换详解

    这篇文章主要介绍了PHP中IP地址与整型数字互相转换详解,本文介绍了使用PHP函数ip2long与long2ip的使用,以及它们的BUG介绍,最后给出自己写的两个算法,需要的朋友可以参考下 IP转换成 ...

  10. python反向缩进_在Pycharm中对代码进行注释和缩进的方法详解

    在Pycharm中对代码进行注释和缩进的方法详解 一.注释 1. #单行注释 2. """ 多行注释 """ 3. pycharm多行注释快 ...

最新文章

  1. linux桌面天气,Ubuntu桌面美化:添加Gmail +天气预报插件[图文]
  2. arcgis python 保存当前窗口图形为jpg
  3. 排队两小时买墨茉、虎头局,但别指望年轻人“味蕾忠诚”
  4. SQL的OPENROWSET开启和使用方法
  5. 学习string,stringBuffer时遇到的问题
  6. Log binomial 回归在队列中的应用
  7. 4.3 计算机网络之IPv4(IPv4分组、IPv4地址、NAT、子网划分与子网掩码、CIDR、ARP协议、DHCP、ICMP)
  8. 使用线程自己join自己完成线程门栓
  9. 10.类的构造(1)
  10. 使用BAT批处理执行sql
  11. ajax 上传文件实例,Ajax异步上传文件实例代码分享
  12. 毕设题目:Matlab图像增强
  13. 卡巴斯基2010 授权文件可以使用一年
  14. Python批量处理Excel文件之删除操作
  15. 什么用matlab做ewma,ewma模型
  16. 笔记本键盘字母变数字解决方法
  17. 有中英文摘要的LaTeX中文模板!!!超实用
  18. 树莓派4B (Raspberry pi 32 bit)安装uv4l驱动,解决opencv无法获取CSI摄像头图像问题
  19. 基于JSP的汽车租赁管理系统的设计与实现
  20. python能调用身份证读卡器吗_最近的项目中用到读卡器,用的华视身份证阅读器,附上SDK使用手册...

热门文章

  1. 根据String类型日期算年龄
  2. c语言21个入门练手项目,初学C语言没有项目练手怎么行,这17个小项目收下不谢...
  3. MessageDigest实现单向加密(MD5、SHA1、SHA-256、SHA-512)
  4. ISO/TS22163:2017 铁路认证是什么?
  5. GD32F450初次使用
  6. 关于mos管驱动的问题
  7. PR视频剪辑教程_01_新建项目与工作区
  8. 炫界 (302) -(查动简)_原302张鸿飞主任在哪出诊呢?一位乙肝“准妈妈”的困惑...
  9. 名编辑电子杂志大师教程 | 如何让用户在翻页电子出版物中下载PDF源文件?
  10. HBase之Rowkey设计总结及易观方舟实战篇