首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用户与权限控制:用户/组管理、sudo 权限、ACL 访问控制列表

用户与权限控制:用户/组管理、sudo 权限、ACL 访问控制列表

原创
作者头像
智维攻城狮
发布2025-09-04 11:21:00
发布2025-09-04 11:21:00
14400
代码可运行
举报
文章被收录于专栏:Linux运维Linux运维
运行总次数:0
代码可运行

用户与权限控制:用户/组管理、sudo 权限、ACL 访问控制列表

在日常的 Linux 运维与安全加固中,用户与权限控制是最基础、也是最容易被忽视的环节。很多安全事故并非源于高深的漏洞,而是因为权限配置不当,让攻击者有了可乘之机。本文将从用户/组管理sudo 权限ACL 访问控制列表三个方面,系统梳理实战要点与最佳实践。

一、用户与组管理

1. 用户与组的关系

  • 用户(User):系统中执行操作的主体,每个用户都有唯一的 UID(User ID)。
  • 组(Group):权限管理的集合单位,每个组有唯一的 GID(Group ID)。
  • 一个用户可以属于多个组,方便批量授权。

2. 常用命令

代码语言:javascript
代码运行次数:0
运行
复制
# 添加用户
useradd -m -s /bin/bash devuser
​
# 修改用户密码
passwd devuser
​
# 添加组
groupadd devgroup
​
# 将用户加入组
usermod -aG devgroup devuser
​
# 查看用户信息
id devuser

实战建议

  • 普通业务账号与运维账号分离,避免“全能账号”。
  • 禁止直接使用 root 登录,改用普通用户 + sudo 提权。
  • 定期审计 /etc/passwd/etc/group,清理无用账号。

二、sudo 权限控制

sudo 是 Linux 中最常用的最小化授权工具,允许普通用户在授权范围内执行高权限命令。

1. 配置文件

  • 主配置文件:/etc/sudoers
  • 推荐使用 visudo 编辑,避免语法错误导致锁死权限。

2. 基本授权示例

代码语言:javascript
代码运行次数:0
运行
复制
# 允许 devuser 以 root 身份执行 systemctl
devuser ALL=(ALL) /bin/systemctl
​
# 允许 devgroup 免密码执行重启服务
%devgroup ALL=(ALL) NOPASSWD: /bin/systemctl restart nginx

3. 安全建议

  • 精确到命令路径,不要使用通配符 * 乱授权。
  • 对高危命令(如 rm -rf /dd)禁止授权。
  • 配合 sudo -l 定期检查用户可执行的命令。

三、ACL 访问控制列表

传统的 Linux 权限模型(rwx)只能精确到所有者 / 所属组 / 其他人三类用户,ACL(Access Control List)则提供了更细粒度的权限控制。

1. 启用与查看 ACL

  • 大多数现代 Linux 发行版默认支持 ACL。
  • 查看挂载参数:
代码语言:javascript
代码运行次数:0
运行
复制
mount | grep acl

2. 设置与查看 ACL

代码语言:javascript
代码运行次数:0
运行
复制
# 给 devuser 赋予对 test.log 的读写权限
setfacl -m u:devuser:rw test.log
​
# 给 devgroup 赋予执行权限
setfacl -m g:devgroup:x test.sh
​
# 查看 ACL
getfacl test.log

3. 实战场景

  • 多个项目组共享同一目录,但权限要求不同。
  • 临时授权外部人员访问特定文件,而不影响原有权限结构。

四、综合安全策略

  1. 最小权限原则:只授予完成任务所需的最低权限。
  2. 分组管理:按角色或项目分组,批量授权,减少重复配置。
  3. 日志审计:开启 sudo 日志与 ACL 变更记录,便于追溯。
  4. 定期清理:移除不再使用的账号、组和 ACL 规则。

用户与权限控制常用命令速查表

分类

命令

作用

示例

用户管理

useradd

添加新用户

useradd -m -s /bin/bash devuser

passwd

设置/修改用户密码

passwd devuser

usermod

修改用户属性(如组、shell)

usermod -aG devgroup devuser

userdel

删除用户

userdel -r devuser

组管理

groupadd

添加新组

groupadd devgroup

groupdel

删除组

groupdel devgroup

gpasswd

管理组成员

gpasswd -a devuser devgroup

信息查看

id

查看用户 UID/GID/组

id devuser

who / w

查看当前登录用户

who

groups

查看用户所属组

groups devuser

sudo 权限

visudo

安全编辑 sudo 配置

visudo

sudo -l

查看当前用户可执行的 sudo 命令

sudo -l

ACL 管理

setfacl

设置 ACL 权限

setfacl -m u:devuser:rw file.txt

getfacl

查看 ACL 权限

getfacl file.txt

setfacl -x

删除 ACL 条目

setfacl -x u:devuser file.txt

权限查看与修改

ls -l

查看文件权限

ls -l /var/www

chmod

修改文件权限

chmod 640 file.txt

chown

修改文件所有者

chown devuser:devgroup file.txt

💡 使用建议

  • 在生产环境中,先查权限再改权限,避免误操作。
  • 对高危命令(如 chmod -R 777 /)保持高度警惕。
  • 配合日志审计(/var/log/secure/var/log/auth.log)追踪权限变更。

结语

权限控制不是一次性工作,而是一个持续优化的过程。作为一名智维攻城狮,我们不仅要会“开门”,更要懂得谁能进、能干什么、什么时候该收回钥匙。 在生产环境中,合理的用户/组管理、精确的 sudo 授权、灵活的 ACL 配置,能让系统既高效又安全。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 用户与权限控制:用户/组管理、sudo 权限、ACL 访问控制列表
    • 一、用户与组管理
      • 1. 用户与组的关系
      • 2. 常用命令
    • 二、sudo 权限控制
      • 1. 配置文件
      • 2. 基本授权示例
      • 3. 安全建议
    • 三、ACL 访问控制列表
      • 1. 启用与查看 ACL
      • 2. 设置与查看 ACL
      • 3. 实战场景
    • 四、综合安全策略
    • 用户与权限控制常用命令速查表
    • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档