Linux的粘滞位

什么是粘滞位?设置粘滞位和不设置粘滞位有什么区别呢?


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

当路径被设置粘滞位后,路径下的文件只有文件的owner, 或者root 才能够重命名、删除文件。如果没有粘滞位,任何用户,不管是不是owner, 只要有路径的写/执行权限就可以重命名、删除文件。典型的应用就是/tmp路径,粘滞位可以阻止一般用户删除/重命名其他用户的文件。


例如:在root的根目录下有个临时文件夹/tmp,/tmp常被我们用来存放临时文件,是所有用户。可以看到tmp的权限为777


/tmp下创建一个文件


返回到普通用户,在该目录下删除root下/tmp里的文件


可以看到直接被删除掉了!可以说只要用户具有写/执行权限就可以直接删除任何文件,不管是不是自己创建的文件。如果你只想让别人看到你的文件而不想让文件被改变,那么这种情况下是非常不安全的!这时就可以设置粘滞位了!


我们进入root下给tmp加上"粘着位"(用chmod a+t),然后返回到普通用户


我们再次回到普通用户下删除刚刚在root/tmp里创建的文件



所有当一个目录被设置为“粘滞位”(用chmod a+t)时,在该目录下的文件只能被

1、超级管理员删除

2、该目录的所有者删除

3、该文件的所有者删除


这就是Linux里的粘滞位作用!




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值