合理划分用户组是linux权限管理的起点,需按职能角色建组(如web_publishers)、主组标识身份、附加组管理权限,配合sgid和最小权限原则实现精准控制。

合理划分用户组是Linux权限管理的起点,不是随便拉几个人建个组就完事。核心在于让组成为职责的映射单元,而不是人员的简单集合。
按职能角色建组,而非按部门或姓名
组名应体现“能做什么”,而不是“是谁”。比如用 web_publishers 表示有网站发布权限的人,比用 marketing_team 更准确——因为市场部可能有人只需看数据,无需上传文件。
- 运维类:web_admins、db_admins、backup_operators
- 开发类:frontend_devs、backend_devs、ci_pipelines
- 服务类:www-data(运行Web服务)、redis、nginx(保持与服务账户一致)
主组与附加组分工明确
每个用户只设一个主组(通常是私有组,如 alice),用于标识身份和默认文件归属;所有共享权限都通过附加组实现。这样避免因主组变更导致文件所有权混乱。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 新建用户时用 useradd -m -g alice -G web_publishers,ci_pipelines alice
- 后续权限调整只需 usermod -aG db_readers alice,不碰主组
- 删除权限也同理:gpasswd -d alice db_readers
目录级权限靠组所有权 + SGID 配合
要让多人协作写入同一目录,光加组不够,必须设置组所有权并启用SGID位。这样新创建的文件自动继承父目录的组,避免手动 chown。
- chown :web_publishers /var/www/staging
- chmod 2775 /var/www/staging(2=SGID,775=所有者/组可读写执行,其他人可读执行)
- 验证:ls -ld /var/www/staging 应显示 drwxrwsr-x(中间的 s 表示SGID生效)
敏感资源用最小权限组隔离
配置文件、密钥、数据库凭证等,不应放在开发组或运维组里共用。单独建高权限组(如 secrets_managers),且禁止该组成员登录shell或执行sudo。
- 配置文件属主设为 root:secrets_managers,权限 640
- 用 sudo -u www-data cat config/db.php 替代开放读取权限
- 必要时配合 sudoers 精确授权,而非扩大组权限










