Linux 文档多租户管理方法
例题
同一群组microsoft下的两个账号justmine001和justmine002需要共同拥有目录/microsoft/eshop的开发权,以便进行协同工作,但是其他人不允许进入和查阅该目录。
从例题可以分析出:
- 同一群组下的账户需要共同拥有目录的使用权,且可以编辑里面的任何文件。
- 其他账户不拥有该目录的任何权限。
- 需要使用root账户,创建账户、群组,设置目录权限,然后搭建开发环境。
创建账户相关信息
groupadd microsoft ; 新增群组
useradd -G microsoft justmine001; 新增账户,并加入到群组microsoft
useradd -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。如果不理解,请阅读上一篇详解Linux文档属性、拥有者、群组、权限、差异
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(详情请阅读:理解Linux文档的默认安全机制、隐藏属性、特殊权限)。
备注:Linux文档权限是一级一级的往下控制的,所以任何读、写、编辑文件的前提就是要拥有能够进入文件所属目录的权限。
设置特殊权限
为目录/microsoft/eshop设置SGID权限
chmod 2770 /microsoft/eshop
使用justmine002账号创建文件,查询文件权限:

从上图可以看到,justmine002所属的文件群组自动变更成microsoft,而umask默认为002,两人同属一个群组,自然就可以互相修改彼此的文件了!!!
总结
Linux系统管理员的主要任务其实就是如何管理好系统的文件系统,那么对于文档多租户管理,首先新建一个统一的群组,然后将目录权限设置为2770,最后把需要协作工作的用户加入这个群组,就是这么简单。往往,结果很简短,但是思考分析过程就如同西天取经,希望把整个过程分享给大家,不仅要知其然,更要知其所以然,这样才能举一反三,融汇贯通,达到灵活运用的目的。
相关文章

Fedora Linux 42 稳定版发布: 带来大量新功能和软件更新
Fedora 42昨日发布,这是 Red Hat 赞助开发的杰出前沿 Linux 发行版的最新版,包含大量新功能和软件更新,使其成为 2025 年上半年发布的一款出色的 Linux 操作系统之一,内2025-04-16
如何在Linux查看硬盘信息? 查看Linux硬盘大小类型和硬件信息的5种方法
使用Linux系统的过程中,查看和了解硬盘信息是非常重要的工作,尤其是对于系统管理员而言,那么在Linux系统中如何查看硬盘信息?以下是具体内容介绍2025-03-12
如何在 Linux 中查看 CPU 详细信息? 3招轻松查看CPU型号、核心数和温度
在日常运维工作中,获取 CPU 信息是系统运维管理员常见的工作内容,无论是为了性能调优、硬件升级还是仅仅满足好奇心2025-03-11
什么是 Arch Linux? 独树一帜的Arch Linux发行版分析
Arch Linux是为简化,优化,现代化,实用主义,用户中心和多功能性而创建Linux发行版,究竟是什么让 Arch 与众不同?下面我们就来简要解读2025-02-19
一直用的linux办公,想要将笔记本电脑从 Linux 系统切换回 Windows 11,我们可以制作一个win11装机u盘,详细如下2025-02-17
Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南
Rsnapshot 不仅可以备份本地文件,还能通过 SSH 备份远程文件,接下来详细介绍如何安装、配置和使用 Rsnapshot,包括创建每小时、每天、每周和每月的本地备份,以及如何进2025-02-06
Linux Kernel 6.13发布:附更新内容及新特性解读
Linux 内核 6.13 正式发布,新版本引入了惰性抢占支持,简化内核抢占逻辑,通过减少与调度器相关的调用次数,让内核在运行时表现更优,从而提高效率2025-01-23
五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布
今日,深度操作系统正式推出deepin 25 Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系统2025-01-18
Linux Mint Xia 22.1重磅发布: 重要更新一览
Beta 版 Linux Mint“Xia” 22.1 发布,新版本基于 Ubuntu 24.04,内核版本为 Linux 6.8,这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面操作系统领域的2025-01-16
LinuxMint怎么安装? Linux Mint22下载安装图文教程
Linux Mint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南2025-01-16









最新评论