linux下如何实现不同的用户对同一文件都有写权限

问题产生原因:

用户在创建文件时候,其创建的文件的属主和属组都是用户本身,所以让组具有写权限并不意味着其他用户具有写权限

解决方案:

给共同访问的目录添加SGID权限

解决过程:

场景举例:比如一个公司的开发团队有三个用户:Hadoop、habase、hive  有一个文件目录tmp/project供他们开发,如何实现让这三个用户都对其具有写权限

第一步:

修改三个用户的附加组都为developteam

wKioL1aDs8LSHTShAABuv2ux9L0675.png

切换到不同用户下面查看用户是否有写权限

wKioL1aDtBqR7wXWAAAsDnl5cCI433.png

第二步:给属组添加写权限

用户添加到同一个附加组之后,组并没有写的权限,此时需要给文件添加写的权限

wKioL1aDtGDhRQbFAAAizKiSlc8438.png

查看用户此时拥有写权限否?

wKioL1aDtJXgpsRtAACgx27-ONs450.png

查看用户创建的文件的属组,给附加组添加写权限之后,用户的属主属组还是创建文件的用户,其他用户还是不能够进行写操作。

wKiom1aDtL3j9S3KAAAtlCs2K3U858.png

第三步:给文件SGID 

命令:chmod g+s /tmp/project/

给文件添加了SGID之后文件的属组变成了文件本身的属组,而不是文件的创建者

wKioL1aDtUnQG6gOAABAoVDaLYM504.png

其他用户可以对文件进行操作:

wKioL1aDti-CV24lAAAUcW85sNk138.png

为防止其他用户的删除操作,对文件添加stick权限

命令:chmod o+t /tmp/project/

wKiom1aDtlaxejH4AAAdml7JaeI274.png

给文件添加SGID 和stick之后其他用户可以对文件目录都有写的权限但是不能删除其他用户创建的文件。

你可能感兴趣的:(linux)