利用粘着位 防止Unix中文件被恶意删除

企业有时候出于项目的需要,会临时组成一个项目小组来完成某个特定的项目。此时项目小组要求各个项目小组成员多某个目录具有读写的权限,可以往这个目录中建立文件,可以阅读他人创建的文件。但是有一个限制,即不能够删除他人建立的文件。如下面所示,现在系统工程师为某个项目专门建立了一个item的目录。

在这个目录下有两个文件,分别为urr001与tgt001,分别是用户SA01与用户SA02创建的。现在企业的要求是,无论是用户SA01还是用户SA02,都可以在这个目录中创建文件;SA01也可阅读文件tgt001(所有权是SA02)的文件;但是SA01不能够删除文件tgt001.

目录:/item文件  urr001  所有者  SA02文件  tgt001  所有者  SA01

也许有系统工程师会对这个需求感到怀疑,这可以实现吗?答案是肯定的。通过Unix操作系统提供的粘着位功能,就可以轻松实现这个功能。

一、粘着位与文件的关系。

粘着位,又称保存文本位,其实就是一个权限控制属性。通常情况下,粘着位即可以用在普通文件上,也可以用在目录文件上。当用在普通文件上时,粘着位可以把某个程序文件的SUID置位。并且它的文本映像将***保存在交换区里。如此的话,当程序获得了CPU使用权时,就可以快速的装载到内存中。

故粘着位可以提高系统程序的运行效率。如有些版本的Unix系统,就把vi等常用的程序文件的粘着位设置为1,就明显提高了这些应用程序的运行效率。不过现在很少用到这个特性。因为现在磁盘读写速度已经达到***;而且内存的价格也便宜。也就是说,现在磁盘速度与内存往往已经不是系统的瓶颈资源,故为普通文件设置粘着位已经没有特殊的必要了。为此笔者现在在系统设置中,基本上不会为普通文件设置粘着位。

那么粘着位不是无用武之地了吗?其实不然。虽然在普通文件上设置粘着位没有实际的应用价值,但是在目录文件上设置粘着位还是很有用的。如文章一开头笔者所阐述的内容,就需要通过粘着位来实现。简单的说,当粘着位与目录文件结合时,能够实现一些让人想都想不到的安全措施。

二、粘着位在/var/tmp目录中的应用。

当粘着位应用在目录文件上时,它便成为了一个有用的安全措施。其实在Unix系统中,就有一个很好的案例可以帮助我们来了解粘着位与目录文件结合的作用。如/var/tmp目录,只要用来存储用户或者应用程序的临时文件。通常情况下,这个目录允许所有的用户创建文件,但是任何用户不能够删除其他用户建立的文件。很多系统管理员刚接触Unix系统的时候,会对这个功能感到疑惑。笔者在对学员进行培训时,也往往把这个内容放在后面进行介绍,免得搞得学员头昏脑涨。其实这就是粘着位在起作用。为了说明白粘着位到底在其中扮演者什么角色,我们可以利用命令ls -ld /var/tmp/ 来看一下这个目录的权限信息。

drwxrwxrwt 3 root root 4096 Apr 3 13:39 /var/tmp/

看到这个结果,大家是否会感到奇怪。“drwxrwxrwt”这个表示某个目录文件的权限信息。其中***个字符d表示这是一个目录文件,第二个到底四个字符rwx表示目录的所有者对这个目录具有读写执行的权限,即完全控制权限;第五个字符到第七个字符rwx表示组成员对这个目录具有读写执行的权限;第八个字符到第七个字符是用来表示其他用户对这个目录文件的权限,原来也应该是rwx或者rw-的。但是这里***一个字符却变为了t.其实这个t就是粘着位。上面这个文件的权限信息,就是表示任何用户对这个目录都具有写入的权限(即可以创建文件)。但是由于多了一个粘着位,则某个用户就不能够删除其他用户创建的文件(即用户只能够删除所有权为自己创建的文件)。

可见利用粘着位能够防止其他用户对文件进行恶意删除。这个功能在实际工作中非常有用。如文章开头所阐述的,现在企业需要开发一个新项目而从各个部门抽调人员组成一个新的项目小组。现在企业希望各个项目小组成员都能够往一个为项目建立的文件夹中建立文件,但是不能够删除其他用户的文件,而只能够删除自己创建的文件。此时就可以利用粘着位来实现。

三、粘着位的具体实现过程。

掌握了以上粘着位的基本功用后,笔者就给大家谈谈如何来应用粘着位防止文件被恶意删除。粘着位在小组项目管理中非常有用。他允许一组用户对同一组文件(同一个目录下的文件)进行有限操作(阅读、创建文件),而不影响文件的安全性(不能够随意被删除)。如现在企业为了开发一个新项目成立了一个项目小组,名字为item.为了统一管理这个项目的相关文档,系统工程师在Unix操作系统上建立了一个/item的目录文件。在项目开发的过程中,所有跟这个项目有关的文档都保存在这个目录中。假设现在这个项目小组的成员有两个,分别为SA01与SA02.企业现在需要实现如下几个需求。一是用户SA01与用户SA02都可以往这个目录中保存或者创建文件。二是用户SA01能够删除自己创建的文件;用户SA02也可以删除自己创建的文件。三是用户SA01不能够删除用户SA02创建的文件,反之亦然。四是用户SA01可以阅读用户SA02创建的文件,反之亦然。要实现如上需求的话,按一下几个步骤操作即可。

***步:创建一个组。由于需要对多个用户进行粘着位的设置,为此为了管理的方便,***把多个用户纳入到一个组中进行管理。为此系统工程师***在Unix操作系统中建立一个用户组,以减少后续维护的工作量。故系统工程师要在/etc/group文件中创建一个公共组,如item组。

第二步:为这些用户创建各自的帐号。在Unix系统中,为用户创建账号时,比Windows操作系统要复杂一点。如还需要制定用户的主目录。这里的主目录是指当这个用户登录到Unix操作系统时默认的系统目录。为了实现如上的功能,系统工程师需要在创建帐户的时候,为这些帐户设置同一个主目录,如item等等。这里要注意一点,即这个主目录与它下面所有的子目录文件不能够为某个用户独占。为此笔者往往把这些目录与子目录文件的所有权转移给root用户。

第三步:然后利用root用户的身份来设置这些目录的组的可读权限。有时候可能要求同组的成员对与这个目录的文件除了阅读之外,还需要修改。具体是否可以允许同组成员进行修改,系统工程师可以根据自己的需要进行修改。不过根据笔者的经验,大部分情况下企业是允许同个项目小组的成员对项目文件具有修改权。

第四步:设置粘着位。以上这些准备工作都做好之后,系统工程师就可以对item这个目录文件设置粘着位。设置很简单,只需要在原有权限属性上面增加一个1值即可。如通过绝对权限设置的话,就可以利用chmod 1775 /item即可。如果使用相对权限设置的话,那么就可以使用chmod +t即可。执行这个命令之后,就会这个目录文件设置了粘着位。如此,除非了文件的所有者,否则其他用户将无法删除这个文件。

可见,虽然时过境迁,粘着位跟普通文件结合,已经发挥不了其应有的作用。但是,其跟目录文件结合,仍然是一个有用的安全措施。特别是企业在项目管理中,通过粘着位可以实现允许一组用户对同一组文件进行操作,而同时又能够保障他们的安全性。

 

【编辑推荐】

  1. 专题:探访Linux/Unix安全世界
  2. 初学者宝典:unix 我与你有种相见恨晚的感觉

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/144004.html<

(0)
管理的头像管理
上一篇2025-03-09 23:21
下一篇 2025-03-09 23:22

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注