三、粘着位的具体实现过程。
掌握了以上粘着位的基本功用后,笔者就给大家谈谈如何来应用粘着位防止文件被恶意删除。粘着位在小组项目管理中非常有用。他允许一组用户对同一组文件(同一个目录下的文件)进行有限操作(阅读、创建文件),而不影响文件的安全性(不能够随意被删除)。如现在企业为了开发一个新项目成立了一个项目小组,名字为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即可。执行这个命令之后,就会这个目录文件设置了粘着位。如此,除非了文件的所有者,否则其他用户将无法删除这个文件。
可见,虽然时过境迁,粘着位跟普通文件结合,已经发挥不了其应有的作用。但是,其跟目录文件结合,仍然是一个有用的安全措施。特别是企业在项目管理中,通过粘着位可以实现允许一组用户对同一组文件进行操作,而同时又能够保障他们的安全性。