新闻详情

新闻详情

首页 / 资讯中心 / 详情

Linux 用户与权限:多团队共用一台服务器怎么分

发布时间:2026/9/15 11:18:41来源:尧图网络
Linux 用户与权限:多团队共用一台服务器怎么分
Linux 用户与权限多团队共用一台服务器怎么分一、一台服务器三个团队谁把谁的文件删了公司有台 64C/256G 的测试服务器运维、开发、数据三个团队共用。某天开发小王rm -rf /data/*把数据组的 ETL 结果全清了——因为大家都在用 root/data 谁都能写。这不是段子这是真实的生产事故。多团队共用一台服务器权限不分定时炸弹。今天把 Linux 用户与权限管理体系讲清楚用户/组怎么建、目录权限怎么分、sudo 怎么收口、ACL 怎么补位一套组合拳下来各团队互不干扰出问题可追溯。二、核心概念用户、组、权限三位一体Linux 权限模型就三句话每个文件属于一个用户owner和一个组group权限分三组owner / group / others每组有 read / write / execute用户可以属于多个组组是权限分配的基本单位# 查看文件权限ls-ld/data/backend# drwxrwx--- 2 deploy backend 4096 Jun 17 10:00 /data/backend# ││││││││││# │┴─┬─┘│┴─┬─┘│┴─┬─┘# type owner group others# rwx rwx --- → owner可读写执行group可读写执行others无权限多团队共用服务器的核心思路一个团队一个组目录归属对应组权限用 group 控制。三、实战多团队权限划分方案场景运维组ops、后端组backend、数据组data共用一台服务器。1. 创建团队组和用户# 1. 创建三个团队组groupaddopsgroupaddbackendgroupadddata# 2. 创建用户并加入对应组useradd-m-gops zhangsan# 运维张三useradd-m-gbackend xiaowang# 后端小王useradd-m-gdata lisi# 数据李四# 3. 验证idzhangsan# uid1001(zhangsan) gid1001(ops) groups1001(ops)idxiaowang# uid1002(xiaowang) gid1002(backend) groups1002(backend)2. 创建团队目录并设置权限# 1. 创建团队数据目录mkdir-p/data/ops /data/backend /data/data# 2. 设置目录归属组 ownershipchownroot:ops /data/opschownroot:backend /data/backendchownroot:data /data/data# 3. 设置权限ownerrwx, grouprwx, others---chmod770/data/opschmod770/data/backendchmod770/data/data# 4. 验证ls-ld/data/*# drwxrwx--- 2 root ops 4096 ... /data/ops# drwxrwx--- 2 root backend 4096 ... /data/backend# drwxrwx--- 2 root data 4096 ... /data/data这样各团队只能进自己的目录互不干扰。3. SGID新建文件自动继承组权限上面有个问题用户在 /data/backend 下新建的文件默认组是用户的主组backend这没问题。但如果某个用户通过附加组访问其他目录新建文件的组可能不对。SGID 解决这个问题# 给目录设置 SGIDchmodgs /data/backend# 效果在该目录下新建的文件/子目录自动继承目录的组su- xiaowangtouch/data/backend/test.txtls-l/data/backend/test.txt# -rw-r--r-- 1 xiaowang backend ... test.txt ← 组是 backend不是 xiaowang 的主组# 递归设置 SGID含已有子目录find/data-typed-execchmodgs{}\;4. Sticky Bit防止互相删文件770 权限下同组用户可以互相删除对方的文件因为组有 write 权限。加Sticky Bit后只有文件 owner 才能删自己的文件# 设置 Sticky Bit同 /tmp 的机制chmodt /data/backend# 验证ls-ld/data/backend# drwxrwx--T 2 root backend ... /data/backend# ↑ T Sticky Bit 生效# 效果小王能写 /data/backend但删不了同组小李的文件最佳实践组合# 目录权限 770 SGID Sticky Bit 3770chmod3770/data/backend# 3 SGID(2) Sticky(1)# 验证ls-ld/data/backend# drwxrws--T 2 root backend ... /data/backend5. 附加组跨团队协作运维小张偶尔需要查看后端日志但不需要写权限# 方案一把小张加入 backend 附加组给读写权限usermod-aGbackend zhangsanidzhangsan# uid1001(zhangsan) gid1001(ops) groups1001(ops),1002(backend)# 方案二推荐用 ACL 精细控制只给读权限setfacl-mu:zhangsan:rx /data/backend getfacl /data/backend# user::rwx# user:zhangsan:r-x ← 小张只读# group::rwx# mask::rwx# other::---附加组 vs ACL 怎么选场景方案一个人需要另一个组的完整读写权限附加组一个人只需要读权限ACL临时授权随时回收ACLsetfacl -x 删除多人统一管理附加组改组就行四、sudo 收口禁 root 直登按团队授权多人共用服务器用 root 操作无法追溯谁干了什么。必须做两件事1. 禁止 root SSH 直登# /etc/ssh/sshd_configPermitRootLogin no systemctl restart sshd2. 按团队配置 sudo 权限# /etc/sudoers.d/ops运维组全部权限%opsALL(ALL)ALL# /etc/sudoers.d/backend后端组只能重启自己的服务%backendALL(root)/usr/bin/systemctl restart backend-app, /usr/bin/systemctl status backend-app# /etc/sudoers.d/data数据组只能操作自己的目录和脚本%dataALL(root)/usr/bin/systemctl restart etl-*, /usr/local/bin/run_etl.sh验证 sudo 配置# 查看用户能执行哪些 sudo 命令sudo-lUxiaowang# User xiaowang may run the following commands:# (root) /usr/bin/systemctl restart backend-app, /usr/bin/systemctl status backend-app审计谁用了 sudo 做了什么# 查看 sudo 日志grepsudo/var/log/secure# CentOSgrepsudo/var/log/auth.log# Ubuntu# 或者 journalctljournalctl-tsudo--sincetoday五、ACL 补位传统权限搞不定的场景传统权限只能设 owner/group/others 三级ACL 可以给任意用户设权限1. ACL 基本操作# 给用户设权限setfacl-mu:zhangsan:rx /data/backend# 小张只读setfacl-mu:lisi:rwx /data/backend# 李四读写执行# 给组设权限setfacl-mg:ops:rx /data/backend# 运维组只读# 删除某条 ACLsetfacl-xu:zhangsan /data/backend# 清空所有 ACLsetfacl-b/data/backend# 递归设置目录已有文件setfacl-R-mu:zhangsan:rx /data/backend/# 默认 ACL新建文件自动继承setfacl-d-mu:zhangsan:rx /data/backend/2. maskACL 的天花板# mask 限制了 ACL 能给的最大权限setfacl-mu:zhangsan:rwx /data/backend setfacl-mm::rx /data/backend# 把 mask 设为 rxgetfacl /data/backend# user:zhangsan:rwx #effective:r-x ← 实际只有 rx# mask::r-x# 改 mask 会影响所有 ACL 用户的实际权限要小心3. ACL 典型场景场景新人入职需要临时查看数据组目录# 授权setfacl-R-mu:newguy:rx /data/data/ setfacl-d-mu:newguy:rx /data/data/# 新文件也继承# 离职或权限到期一键回收setfacl-R-xu:newguy /data/data/六、权限速查表需求命令创建团队组groupadd 组名创建用户并指定组useradd -m -g 组 用户用户加附加组usermod -aG 组 用户目录归属组chown root:组 目录目录权限770chmod 770 目录SGID新建文件继承组chmod gs 目录Sticky Bit防删他人文件chmod t 目录组合 3770chmod 3770 目录ACL 授权setfacl -m u:用户:权限 目录ACL 默认继承setfacl -d -m u:用户:权限 目录ACL 查看getfacl 目录ACL 删除setfacl -x u:用户 目录查看 sudo 权限sudo -lU 用户查看 sudo 日志journalctl -t sudo --since today七、总结一句话总结多团队共用服务器核心是一组一目录、770SGIDSticky、sudo 按组收口、ACL 补位精细控制。落地清单每个团队建一个专用组groupadd用户主组对应团队团队目录chmod 3770770 SGID Sticky Bit禁止 root SSH 直登PermitRootLogin nosudo 按组授权/etc/sudoers.d/按团队拆文件跨团队只读需求用 ACLsetfacl不用附加组给读写临时权限用 ACL 默认继承到期setfacl -x回收定期审计getfacl检查目录权限、sudo -lU检查 sudo 权限
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

用 AI 把后端 Swagger 文档自动转成 TypeScript 类型 + 请求函数,手写接口层的时代结束了 2026/9/15 11:15:40

用 AI 把后端 Swagger 文档自动转成 TypeScript 类型 + 请求函数,手写接口层的时代结束了

每次后端给新接口,前端要做三件事:定义 TS 类型、写请求函数、写 mock 数据。一个接口 15 分钟,10 个接口就是半天。 我搭了一个工作流:后端 Swagger JSON → AI 转换 → 直接生成可用的 service 文件。接口层从"手工活&quo…

阅读更多 →
Python编程三合一:进制转换、猜数字与调色板实战 2026/9/15 11:15:40

Python编程三合一:进制转换、猜数字与调色板实战

1. 项目概述:三个编程实验的趣味探索最近在整理教学案例时,我重新设计了三个经典编程实验:进制转换器、猜数字游戏和调色板工具。这三个看似简单的项目,实际上涵盖了编程基础、算法思维和用户交互设计的核心要素。很多初学者在接触…

阅读更多 →
Matlab批量转换地震原始数据为标准SAC格式 2026/9/15 11:15:40

Matlab批量转换地震原始数据为标准SAC格式

简介:本资源是一套面向地震学研究者与地球物理方向MATLAB用户的SAC格式数据生成工具集,解决在MATLAB环境中无法直接输出标准SAC文件的实操痛点。压缩包共3个文件,全部为MATLAB函数脚本(.m),包括读取SAC文件…

阅读更多 →
Django全栈开发旅行网站:毕业设计实战指南 2026/9/15 11:15:40

Django全栈开发旅行网站:毕业设计实战指南

1. 项目背景与核心需求"djangoe起去旅行网站"是一个典型的计算机专业毕业设计项目,采用Django框架开发的全栈Web应用。这类项目在高校计算机专业中非常常见,主要考察学生对Web开发全流程的掌握程度,包括前端页面设计、后端业务逻辑…

阅读更多 →
Pwndbg `decomp` 命令详解:在 GDB/LLDB 中就近反编译指定地址 2026/9/15 11:15:40

Pwndbg `decomp` 命令详解:在 GDB/LLDB 中就近反编译指定地址

Pwndbg decomp 命令详解:在 GDB/LLDB 中就近反编译指定地址 【免费下载链接】pwndbg Exploit Development and Reverse Engineering with GDB & LLDB Made Easy 项目地址: https://gitcode.com/GitHub_Trending/pw/pwndbg 导读 decomp 是 Pwndbg 反编译…

阅读更多 →
Unity角色对话口型同步:SALSA With RandomEyes插件实战指南 2026/9/15 11:12:39

Unity角色对话口型同步:SALSA With RandomEyes插件实战指南

最近在弄Unity角色对话系统,被一个叫SALSA With RandomEyes的插件圈粉了。这东西说白了就是干一件事:让人物的嘴巴跟着语音动起来,配合随机眼球转动,整得跟真人说话似的。很多做独立游戏、虚拟主播、甚至数字人项目的朋友都在用这…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞