首先共享文件一定不能在各用户的家目录下创建,因为各用户家目录通常都只对自己开放,其他用户没有权限进入目录,读写其中的文件。
因此,共享文件必须在非用户目录下创建,且需要将other的权限全部放开。例如,在根目录下常见共享文件夹 dir_shared,并将other权限放开。
存在问题:
已经创建好了共享文件夹,在该共享文件夹中所有用户均可在其中进行文件的共享,但是还存在一个问题:用户A新建一个文件与用户B共享,由于该文件需要被用户B读写,需要将其other权限全部放开,这就意味着其他所有用户都对该文件拥有读写权限,甚至是删除该文件。
解决问题:粘滞位(只有目录文件可以设置粘滞位)
为了防止其他用户随意删除用户A与用户B的共享文件,需要给共享目录设置粘滞位。设置了粘滞位的目录文件,只有该目录文件的拥有者、root以及要删除文件的拥有者可以删除其中的文件。
观察目录文件的属性,其other的x权限变为t权限,t权限相当于x权限的加强版,同时具有x权限的作用,且禁止目录文件的拥有者、root和要删除文件的拥有者以外的其他用户删除目录中的文件。