情景:假设系统里有2个账号,分别为:ax与bx,这2个账号除了支持自己的群组以外还共同支持一个名为project的群组。如果这个2个账号需要共同拥有/srv/ahome目录的开发权,且该目录不允许其他账号进入查阅,请问该目录的权限该怎么设置?
目标:了解为何开发项目时,目录最后设定SGID权限
前提:多账号支持同一个群组,且共同拥有目录的使用权
为了让ax和bx共同拥有/srv/ahome目录的开发权,且该目录不允许其他账号进入查阅,您可以按照以下步骤设置该目录的权限:
创建一个新的群组,例如devgroup,并将ax和bx添加到该群组中。
使用chgrp命令将/srv/ahome目录的所有者更改为devgroup,以便ax和bx可以访问该目录。
使用chmod命令将/srv/ahome目录的权限设置为2770,其中2表示设置SGID位,以便新创建的文件和目录将继承devgroup的所有权,7表示ax和bx具有读、写和执行权限,0表示其他用户没有任何权限。
为什么开发项目时,目录最后设定SGID权限呢?因为在开发项目时,通常需要多个用户共同访问和编辑同一个目录或文件。如果没有正确设置权限,可能会导致文件或目录的所有权和权限出现问题,从而影响项目的开发和维护。通过设置SGID权限,可以确保新创建的文件和目录将继承父目录的所有权,从而避免了权限问题。