例题 同一群组microsoft下的两个账号justmine001和justmine002需要共同拥有目次[code]/microsoft/eshop[/code]的开发权,以便进行协同工作,但是其他人不答应进入和查阅该目次。 从例题可以分析出:
创建账户干系信息 [code]groupadd microsoft ; 新增群组 useradd -G microsoft justmine001; 新增账户,并参加到群组microsoft useradd -G microsoft justmine002; 新增账户,并参加到群组microsoft[/code]查阅账号属性 [code]id justmine001; id justmine002;[/code]搭建环境 创建开发目次 [code]mkdir -p /microsoft/eshop[/code] 查询 [code]ll -d /microsoft/eshop[/code] 设置传统权限 从上图可以看到,开发目次的拥有者和群组都是root,权限为rwxr-xr-x,所以justmine001和justmine002可以查阅(ls)和进入(cd)该目次,但是都不能在目次中创建文件。 起首,设置目次群组为microsoft,其次,其他人对该目次没有任何权限,所以应该设置权限为770。如果不明白,请阅读上一篇详解Linux文档属性、拥有者、群组、权限、差异 [code]chgrp microsoft /microsoft/eshop; 分配群组 chmod 770 /microsoft/eshop; 设置权限[/code]起首测试justmine账号(其他人)的权限,如下: 其他人无法访问[code]ls[/code]和进入[code]cd[/code]该目次,已到达预期结果。 测试同群组下的justmine001和justmine002账号,再次创建文件,如下: 为了淋漓尽致的展现,我将文件创建权限从拒绝到答应的整个过程都截取下来了!!! 从上面可以看到,文件test和test1的拥有者和群组分别为justmine001和justmine002,固然用户justmine001可以删除justmine002创建的文件test1(目次权限的控制范围),但是却不能编辑它(文件权限的控制范围)。那该肿么办呢,照旧无法完成协作工作啊。第一种方法是我们将文件test1权限设置为777,这样文件对任何人都可读、可写、可编辑,再加上目次权限的控制,其他人访问不了文件test1,没毛病。第二种方法,变更它们创建的文件群组为microsoft,这样也可以实现协作工作,貌似这种方法才是切合现实的。不外,每次都要管理员去做这件事变,那岂不是太麻烦他老人家,多欠好意思啊,嘿嘿。正所谓,车道山前必有路,利用Linux特别权限SGID可以完美实现同一群组下的任何账户创建的文件都拥有相同的群组microsoft(详情请阅读:明白Linux文档的默认安全机制、隐藏属性、特别权限)。 [code]备注:Linux文档权限是一级一级的往下控制的,所以任何读、写、编辑文件的前提就是要拥有可以或许进入文件所属目次的权限。[/code]设置特别权限 为目次[code]/microsoft/eshop[/code]设置SGID权限 [code]chmod 2770 /microsoft/eshop[/code] 利用justmine002账号创建文件,查询文件权限: 从上图可以看到,justmine002所属的文件群组主动变更成microsoft,而umask默认为002,两人同属一个群组,自然就可以互相修改彼此的文件了!!! 总结 Linux体系管理员的主要任务实在就是如何管理好体系的文件体系,那么对于文档多租户管理,起首新建一个统一的群组,然后将目次权限设置为2770,最后把需要协作工作的用户参加这个群组,就是这么简单。往往,结果很简短,但是思考分析过程就如同西天取经,盼望把整个过程分享给各人,不仅要知其然,更要知其所以然,这样才气举一反三,融汇贯通,到达灵活运用的目标。 来源:https://www.jb51.net/LINUXjishu/617594.html 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|手机版|小黑屋|梦想之都-俊月星空
( 粤ICP备18056059号 )|网站地图
GMT+8, 2025-7-1 18:51 , Processed in 0.030113 second(s), 18 queries .
Powered by Mxzdjyxk! X3.5
© 2001-2025 Discuz! Team.