Linux中的粘滞位

Sticky 位是一个访问权限标志位,可以用来标示文件和路径。

历史:

粘滞位是在1974年Unix的第5版中引入的,用来设置可执行文件。当可执行文件设置粘滞位之后,它能够指示操作系统在程序退出后,保留程序的代码段到swap空间。当程序再次执行时,内核只需将程序从swap搬到内存即可,这能够加速程序的执行。所以,频繁使用的程序比如编辑器能够更快的打开。目前,这种应用只是适用于HP-UX, NetBSD和UnixWare,Solaris在2005年放弃了这种应用,linux没有版本支持过这种行为。

当今使用:

当今,粘滞位最常用是应用于路径。当路径被设置粘滞位后,路径下的文件只有文件的owner, 或者root 才能够重命名、删除文件。如果没有粘滞位,任何用户,不管是不是owner, 只要有路径的写/执行权限就可以重命名、删除文件。典型的应用就是/tmp路径,粘滞位可以阻止一般用户删除/重命名其他用户的文件。这种特性首次引入是在1986年4.3BSD, 今天在现在的Unix系统中都可以找到这个特性。另外,Solaris定义了独有的行为:当粘滞位设置到非执行文件时,当访问这种文件时,内核将不会缓存。这常用于设置swap文件,用来阻止访问这些文件时冲刷掉系统缓存中更重要的数据。

Sticky bit在不同系统中的异同

HP-UX:当程序的最后一个用户退出时,阻止系统丢弃程序段swap-space image. 当下一个用户执行这个程序时,系统只需要swap in,而不需要重从磁盘新读入文件到内存,节约程序启动时间。

[...] prevents the system from abandoningthe swap-space image of the program-text portion of the file when its last userterminates. Then, when the next user of the file executes it, the text need notbe read from the file system but can simply be swapped in, thus saving time.

Linux: 当粘滞位设置到文件时,内核将会忽略。当设置路径时,路径中的文件只能够被root或者文件的owner重命名或者unlinked。

[...] the Linux kernel ignores the stickybit on files. [...] When the sticky bit is set on a directory, files in thatdirectory may only be unlinked or renamed by root or their owner.

举例:

Sticky bit 设置:

chmod 命令,可以用八进制模式1000或者它的符号t.

比如:添加粘滞位到路径/usr/local/tmp,

1.      chmod +t /usr/local/tmp

2.      chmod 1777 /usr/local/tmp

在Unix 文件系统 符号中,sticky bit t 是在最后一位。比如:在Solaris 8, /tmp路径默认有粘滞位,如下:

$ ls -ld /tmp
 drwxrwxrwt   4 root     sys          485 Nov 10 06:01 /tmp
如果粘滞位设置的路径或者文件没有可执行(x)位,它的符号用T(大写的t)
# ls -l test
 -rw-r--r--   1 root     other          0 Nov 10 12:57 test
 # chmod +t test; ls -l test
 -rw-r--r-T   1 root     other          0 Nov 10 12:57 tes

From http://en.wikipedia.org/wiki/Sticky_bit

Linux中的粘滞位相关推荐

  1. linux应用程序设置粘滞位,Linux中的粘滞位

    Sticky 位是一个访问权限标志位,可以用来标示文件和路径. 历史: 粘滞位是在1974年Unix的第5版中引入的,用来设置可执行文件.当可执行文件设置粘滞位之后,它能够指示操作系统在程序退出后,保 ...

  2. linux应用程序设置粘滞位,Linux中设置粘滞位

    关于目录有三种权限: r - -可读权限,可以列出目录下的内容(但如果要列出目录下的内容必须要能进入这个目录所需要的权限为 r-x) -w-可写权限,可以往目录里些内容(但是如果如果往目录里面些内容, ...

  3. 【Linux】权限-粘滞位

    目录 1.权限概念 2.修改权限 指令:chmod 修改文件的访问权限 指令:chown 修改文件的拥有者 指令:chgrp 修改文件所属组 3.umask文件掩码 4.目录权限 粘滞 1.权限概念 ...

  4. Linux加固之粘滞位

    0x00:场景 在Linux中会碰到这样一种情况,例如tmp目录下有一个属于A用户的目录AA,因为tmp对所有用户可写,所以B用户可以删除A用户的AA目录.这种情况是不合理的,所以有了一种解决办法,给 ...

  5. linux 目录的粘滞位,Linux浅谈SUID,SGID,Sticky粘滞位对目录以及文件的相关作用

    我们知道在Linux中,root管理员的权限是很大的,能够支持执行绝大部分程序以及命令进而对文件进行相对应的修改,写入.当然这些作用只能体现在root管理员上.但是有一个现象,有些普通用户是可以通过p ...

  6. Linux指令(粘滞位)

    粘滞位 通常情况下用户只要对某个目录具备w写入权限,便可以删除该目录中的任何文件,而不论这个文件的权限是什么. 比如我们进行下面的操作: 我们可以通过chmod 指令修改文件的读.写.执行权限. 那么 ...

  7. Linux下的粘滞位详解

    1.产生粘滞位的原因: Linux下有一个用于存放临时文件的目录 /temp,每一个用户产生的临时文件都存放在 /temp目录下面,而且每个用户都对于这些文件具有写权限,为了防止用户对于除自己外的其他 ...

  8. linux 目录的粘滞位,linux下粘滞位引出的SUID和SGID

    -rwxr-xr-x 1 root root 818232 2010-04-19 09:51 /bin/bash 其中第一列即表示该文件的权限属性. 第一个字母"-",表示文件类型 ...

  9. linux下的粘滞位

    问:文件的粘滞位(sticky)位是作什么用的? 答: 普通文件的sticky位会被linux内核忽略,目录的sticky位表示这个目录里的文件只能被owner和root删除  粘滞位(Sticky ...

最新文章

  1. 埃森哲是如何系统化做好数据分析?
  2. AI如何在安防行业更加深入?可从超高清视频监控切入
  3. springmvc新建拦截器
  4. skcket编程实例
  5. (五)nginx设置静态文件不记录日志
  6. 记一次使用Openssl生成p12证书搭建https证书
  7. SpringData JPA(一)——什么是SpringData JPA
  8. scratch项目:自制电子乐器(Scratch声音类积木的应用/scratch的声音魔法)
  9. 编译之 jack-server报错
  10. 计算机科学引论2021中文,计算机科学引论(2021英文精编版)
  11. R代码学习(1)——算术运算、关系运算、逻辑运算
  12. 触角云开发的微信商城系统
  13. Java并发编程初级-未使用Java并发包的时候
  14. 如何快速对接淘宝开放平台API接口(淘宝店铺订单明文接口,淘宝店铺商品上传接口,淘宝店铺订单交易接口)
  15. 山寨版鸟巢体育馆图片网络曝光(组图)
  16. 高端电子芯片助力传统油液颗粒监测升级
  17. Android7.1.1手机使用android studio开发时出现解析包时出现错误的问题
  18. 2014H-Star初赛题解
  19. 英语基础-时态(一)
  20. 近视发生,要尽早干预

热门文章

  1. mysql处理上百万条的数据库如何优化语句来提高处理查询效率
  2. 测试与封装5.1.5.2
  3. Linux 启动详解之init
  4. 个人随笔、收藏——(包括技术、设计思想等)
  5. eclipse CreateProcess error=87 的解决办法
  6. mysql存储家庭成员信息_家谱管理系统的设计与实现(MyEclipse,MySQL)
  7. linux 修改java版本_Linux 有问必答:如何在 Linux 中改变默认的 Java 版本
  8. java saf_Java 8 Lambda表达式探险
  9. iis+php解析漏洞修复,IIS7.0畸形解析漏洞通杀0day
  10. javascript2秒后再执行_停车后5秒,车祸发生了!高速公路上你别再这样做了!| 一线微观...