免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1060 | 回复: 0
打印 上一主题 下一主题

利用粘着位防止Unix中文件被恶意删除 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-26 15:12 |只看该作者 |倒序浏览

企业有时候出于[color="#000000"]项目的需要,会临时组成一个项目小组来完成某个特定的项目。此时项目小组要求各个项目小组成员多某个目录具有读写的权限,可以往这个目录中建立文件,可以阅读他人创建的文件。但是有一个限制,即不能够删除他人建立的文件。如下图所示,现在系统工程师为某个项目专门建立了一个item的目录。在这个目录下有两个文件,分别为urr001与tgt001,分别是用户SA01与用户SA02创建的。现在企业的要求是,无论是用户SA01还是用户SA02,都可以在这个目录中创建文件;SA01也可阅读文件tgt001(所有权是SA02)的文件;但是SA01不能够删除文件tgt001。

也许有系统工程师会对这个需求感到怀疑,这可以实现吗?答案是肯定的。通过Unix操作系统提供的粘着位功能,就可以轻松实现这个功能。
  一、粘着位与文件的关系。
  粘着位,又称保存文本位,其实就是一个权限控制属性。通常情况下,粘着位即可以用在普通文件上,也可以用在目录文件上。当用在普通文件上时,粘着位可以把某个程序文件的SUID置位。并且它的文本映像将永久保存在交换区里。如此的话,当程序获得了CPU使用权时,就可以快速的装载到内存中。故粘着位可以提高系统程序的运行效率。如有些版本的Unix系统,就把vi等常用的程序文件的粘着位设置为1,就明显提高了这些应用程序的运行效率。不过现在很少用到这个特性。因为现在磁盘读写速度已经达到极致;而且内存的价格也便宜。也就是说,现在磁盘速度与内存往往已经不是系统的瓶颈资源,故为普通文件设置粘着位已经没有特殊的必要了。为此笔者现在在系统设置中,基本上不会为普通文件设置粘着位。
  那么粘着位不是无用武之地了吗?其实不然。虽然在普通文件上设置粘着位没有实际的应用价值,但是在目录文件上设置粘着位还是很有用的。如文章一开头笔者所阐述的内容,就需要通过粘着位来实现。简单的说,当粘着位与目录文件结合时,能够实现一些让人想都想不到的安全措施。
 二、粘着位在/var/tmp目录中的应用。
  当粘着位应用在目录文件上时,它便成为了一个有用的安全措施。其实在Unix系统中,就有一个很好的案例可以帮助我们来了解粘着位与目录文件结合的作用。如/var/tmp目录,只要用来存储用户或者应用程序的临时文件。通常情况下,这个目录允许所有的用户创建文件,但是任何用户不能够删除其他用户建立的文件。很多系统管理员刚接触Unix系统的时候,会对这个功能感到疑惑。笔者在对学员进行培训时,也往往把这个内容放在后面进行介绍,免得搞得学员头昏脑涨。其实这就是粘着位在起作用。为了说明白粘着位到底在其中扮演者什么角色,我们可以利用命令ls -ld /var/tmp/ 来看一下这个目录的权限信息。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/2305/showart_2007819.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP