0

0

Linux多用户权限管理教程_sudoACL账户组策略应用

冷炫風刃

冷炫風刃

发布时间:2026-01-01 19:01:04

|

363人浏览过

|

来源于php中文网

原创

Linux多用户权限管理通过用户组、sudo和ACL分层协作:组策略定义身份归属,sudo控制特权命令执行,ACL实现文件级细粒度访问。

linux多用户权限管理教程_sudoacl账户组策略应用

Linux多用户权限管理核心在于精准控制谁能在何时、以何种身份执行哪些命令。sudo、ACL和用户组策略不是孤立工具,而是分层协作的权限体系:组策略定义“谁属于哪类人”,sudo决定“谁能执行什么特权操作”,ACL解决“对特定文件或目录的精细访问”。关键不在堆砌命令,而在理解每层的职责边界。

用户与组:权限分配的基础单元

Linux一切权限最终落到用户(user)和组(group)。普通用户默认仅对自己主目录有完全控制权;系统通过/etc/group管理组成员关系,/etc/passwd记录用户基本信息。

  • 添加用户并指定初始组:useradd -m -g developers alice(-g 指定主组,-m 创建家目录)
  • 将现有用户加入附加组:usermod -aG sudo,developers bob(-aG 确保不覆盖已有组)
  • 验证组成员关系:groups aliceid bob

注意:用户登录后新加入的组不会立即生效,需重新登录或用 newgrp developers 切换当前会话组。

sudo:授予有限且可审计的特权执行能力

sudo 不是给 root 密码,而是按策略授权特定命令。配置集中在 /etc/sudoers(必须用 visudo 编辑,防止语法错误锁死系统)。

  • 让 developers 组所有成员免密运行 systemctl:%developers ALL=(ALL) NOPASSWD: /bin/systemctl start nginx
  • 限制某用户只能重启服务,不能停用或查看状态:alice ALL=(root) /bin/systemctl restart nginx
  • 日志审计:启用 Defaults logfile="/var/log/sudo.log" 记录每次 sudo 调用

避免写 ALL=(ALL) ALL —— 这等同于交出 root 权限,违背最小权限原则。

Kacha
Kacha

KaCha是一款革命性的AI写真工具,用AI技术将照片变成杰作!

下载

ACL:突破传统UGO模型的文件级细粒度控制

当用户不属于文件所属组,又需要读写某个特定目录时,ACL 是唯一可靠方案。它为文件/目录额外添加访问条目,不破坏原有权限结构。

  • 启用 ACL(如 ext4 文件系统):mount -o remount,acl /(永久生效需在 /etc/fstab 中添加 acl 参数)
  • 给用户 carol 对 /srv/app/data 的读写权限:setfacl -m u:carol:rw /srv/app/data
  • 给组 devs 设置默认 ACL(影响新建文件):setfacl -d -m g:devs:rwx /srv/app/data
  • 查看 ACL:getfacl /srv/app/data;清除 ACL:setfacl -b /srv/app/data

ACL 权限优先级高于传统 rwx,但受 mask 限制 —— 实际生效权限是 ACL 条目与 mask 的交集,可用 setfacl -m m::rwx 调整 mask。

策略协同:一个典型运维场景示例

假设 Web 项目部署在 /var/www/myapp,需实现:开发组可更新代码,运维组可重启服务,审计员只读日志。

  • 创建专用组:groupadd webdev && groupadd webops && groupadd webaudit
  • 设置目录归属:chown -R :webdev /var/www/myappchmod 2775 /var/www/myapp(2 表示 SGID,新文件自动继承组)
  • 用 ACL 授予 webops 对 systemctl 的权限(通过 sudo),同时允许 webaudit 读取 /var/log/myapp/*.log:setfacl -m g:webaudit:r /var/log/myapp/
  • 在 /etc/sudoers 中授权:%webops ALL=(root) /bin/systemctl restart myapp

这样各角色权限清晰隔离,操作可追溯,无需共享账号或开放过度权限。

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

227

2023.07.27

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

490

2023.08.04

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

496

2023.08.04

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

223

2024.02.23

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

329

2024.07.09

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

3505

2024.08.07

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

371

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

563

2023.08.10

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

65

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.4万人学习

Git 教程
Git 教程

共21课时 | 2.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号