linux新增用户_Linux文档多租户管理--新建统一群组+目录权限设置2770

概述

有时候我们会有这么个需求:两个开发账号共同拥有某个目录/test读写权限,以便进行协同工作,但是其他人不允许进入和查阅该目录。

简单分析如下:

  1. 同一群组下的账户需要共同拥有目录的使用权,且可以编辑里面的任何文件。
  2. 其他账户不拥有该目录的任何权限。
  3. 需要使用root账户,创建账户、群组,设置目录权限,然后搭建开发环境。

01

创建账户相关信息

groupadd test; 新增群组useradd -G test test01; 新增账户,并加入到群组testuseradd -G test test02; 新增账户,并加入到群组test

查阅账号属性

id test01;id test02;
baecd8a5e18040291a832f4dcbaaa89d.png

02

搭建环境

创建开发目录

mkdir -p /test/ams

查询

ll -d /test/ams
7b17ec7717acb9c6e3924c18a5c7e8fe.png

03

设置权限

从上图可以看到,开发目录的拥有者和群组都是root,权限为rwxr-x---。

首先,设置目录群组为test,其次,其他人对该目录没有任何权限,所以应该设置权限为770。

chgrp -R test /test/ #分配群组chmod -R 770 /test/ #设置权限
f41def97ea3ac3935634f044f3f2fd5d.png

首先测试test3账号(其他人)的权限,如下:

ae3ec37f74c59e3092e8c50facad3fbd.png

其他人无法访问ls和进入cd该目录,已达到预期效果。

测试同群组下的test01和test02账号,再次创建文件,如下:

fe956bbc1b2beb93aa3bcee2f6c5f6f4.png

从上面可以看到,文件test01和test02的拥有者和群组分别为test01和test02,虽然用户test02可以删除test01创建的文件test1(目录权限的控制范围),但是却不能编辑它(文件权限的控制范围)。

考虑两个办法:

第一种方法是将文件test1权限设置为777,这样文件对任何人都可读、可写、可编辑,再加上目录权限的控制,其他人访问不了文件test1。

第二种方法,变更它们创建的文件群组为test,这样也可以实现协作工作,貌似这种方法才是切合现实的。不过,每次都要root去修改,也不太现实。


04

设置特殊权限

使用Linux特殊权限SGID可以完美实现同一群组下的任何账户创建的文件都拥有相同的群组microsoft

  • 备注:Linux文档权限是一级一级的往下控制的,所以任何读、写、编辑文件的前提就是要拥有能够进入文件所属目录的权限。

为目录/test设置SGID权限

chmod -R 2770 /test

使用test01账号创建文件,查询文件权限:

06fdef116efa3a1d84f9b12d36bd3399.png

从上图可以看到,test01所属的文件群组自动变更成test,而umask默认为002,两人同属一个群组,自然可以互相修改彼此的文件了。


总结

Linux系统管理员的主要任务其实就是如何管理好系统的文件系统,那么对于文档多租户管理,首先新建一个统一的群组,然后将目录权限设置为2770,最后把需要协作工作的用户加入这个群组。

后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

e5f17a8305281c11bf8b41c20f2616c0.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值