查看: 101|回复: 0

扣丁学堂简述文档多租户管理方法

发表于 2018-7-20 11:59:51

本篇文章扣丁学堂Linux培训小编和大家分享一下Linux文档多租户管理的方法,文章中会有详细的代码列出,对Linux感兴趣的小伙伴随着小编一起来看一下吧。


例题:
同一群组microsoft下的两个账号justmine001和justmine002需要共同拥有目录/microsoft/eshop的开发权,以便进行协同工作,但是其他人不允许进入和查阅该目录。
从例题可以分析出:
1. 同一群组下的账户需要共同拥有目录的使用权,且可以编辑里面的任何文件。
2. 其他账户不拥有该目录的任何权限。
3. 需要使用root账户,创建账户、群组,设置目录权限,然后搭建开发环境。
创建账户相关信息:
groupadd microsoft ; 新增群组useradd -G microsoft justmine001; 新增账户,并加入到群组microsoftuseradd -G microsoft justmine002; 新增账户,并加入到群组microsoft
查阅账号属性:
id justmine001;
id justmine002;



搭建环境:
创建开发目录
mkdir -p /microsoft/eshop
查询
ll -d /microsoft/eshop


设置传统权限:
从上图可以看到,开发目录的拥有者和群组都是root,权限为rwxr-xr-x,所以justmine001和justmine002可以查阅(ls)和进入(cd)该目录,但是都不能在目录中创建文件。



首先,设置目录群组为microsoft,其次,其他人对该目录没有任何权限,所以应该设置权限为770。
chgrp microsoft /microsoft/eshop; 分配群组chmod 770 /microsoft/eshop; 设置权限
首先测试justmine账号(其他人)的权限,如下:



其他人无法访问ls和进入cd该目录,已达到预期效果。
测试同群组下的justmine001和justmine002账号,再次创建文件,如下:



为了淋漓尽致的展现,我将文件创建权限从拒绝到许可的整个过程都截取下来了!!!
从上面可以看到,文件test和test1的拥有者和群组分别为justmine001和justmine002,虽然用户justmine001可以删除justmine002创建的文件test1(目录权限的控制范围),但是却不能编辑它(文件权限的控制范围)。那该肿么办呢,还是无法完成协作工作啊。
第一种方法是我们将文件test1权限设置为777,这样文件对任何人都可读、可写、可编辑,再加上目录权限的控制,其他人访问不了文件test1,没毛病。
第二种方法,变更它们创建的文件群组为microsoft,这样也可以实现协作工作,貌似这种方法才是切合现实的。不过,每次都要管理员去做这件事情,那岂不是太麻烦他老人家,多不好意思啊,嘿嘿。正所谓,车道山前必有路,使用Linux特殊权限SGID可以完美实现同一群组下的任何账户创建的文件都拥有相同的群组microsoft。
设置特殊权限:
为目录/microsoft/eshop设置SGID权限
chmod 2770 /microsoft/eshop
使用justmine002账号创建文件,查询文件权限:



从上图可以看到,justmine002所属的文件群组自动变更成microsoft,而umask默认为002,两人同属一个群组,自然就可以互相修改彼此的文件了!
以上就是扣丁学堂Linux在线学习小编给大家分享的Linux文档多租户管理的方法,希望对小伙伴们有所帮助,想要了解更多内容的小伙伴可以登录扣丁学堂官网咨询。扣丁学堂不仅有专业的老师和与时俱进的课程体系,还有大量的Linux视频教程供学员观看学习,想要快速学习Linux开发技术的小伙伴快快行动吧。扣丁学堂Linux技术交流群:422345477。


文章转载自:扣丁学堂http://www.codingke.com/


回复

使用道具 举报