创建新文件时, Linux会用你默认的UID和GID给文件分配权限。想
让其他人也能访问文件,要么改变其他用户所在安全组的访问权限,要么就给文件分配一个包含其他用户的新默认属组。
Linux还为每个文件和目录存储了3个额外的信息位。
设置用户ID( SUID) :当文件被用户使用时,程序会以文件属主的权限运行。
设置组ID( SGID) :对文件来说,程序会以文件属组的权限运行;对目录来说,目录中
创建的新文件会以目录的默认属组作为默认属组。
粘着位:进程结束后文件还驻留(粘着)在内存中。
image.png
image.png
首先,用mkdir命令来创建希望共享的目录。然后通过chgrp命令将目录的默认属组改为包含所有需要共享文件的用户的组(你必须是该组的成员)。最后,将目录的SGID位置位,以保证目录中新建文件都用shared作为默认属组。
为了让这个环境能正常工作,所有组成员都需把他们的umask值设置成文件对属组成员可写。在前面的例子中, umask改成了002,所以文件对属组是可写的。
做完了这些,组成员就能到共享目录下创建新文件了。跟期望的一样,新文件会沿用目录的属组,而不是用户的默认属组。现在shared组的所有用户都能访问这个文件了。
网友评论