最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
ACL权限中项目目录如何利用默认组ACL实现研发与UI设计在同目录协同且不越权
时间:2026-08-10 16:31:47 编辑:袖梨 来源:一聚教程网
关键在于默认ACL+合理分组+SGID+umask四者配合:1.建devgrp/uigrp组并加入成员,项目目录属组projectteam且设SGID;2.用默认ACL为不同路径设定组权限,如devgrp:rwx、uigrp:rwX于/assets等,禁uigrp访问/config;3.统一设umask 002确保ACL生效;4.用大写X区分目录与文件执行权限。
要让研发和UI设计人员在同一个项目目录下协同工作又不越权,关键不是靠“默认组”这个模糊概念,而是用默认ACL(default ACL)+ 合理分组 + SGID + umask四者配合。Linux里没有“默认组权限”这种独立机制,所谓“默认组访问”,实际是通过默认ACL为指定组(如devgrp、uigrp)设定规则,并确保新文件自动继承。
1. 先建好角色组并统一归属
避免混用个人用户直接授权,先按职能拆分两个组:
- 创建组:
sudo groupadd devgrp && sudo groupadd uigrp - 把对应成员加进去:
sudo usermod -aG devgrp alice,bob && sudo usermod -aG uigrp carol,dan - 设项目目录属组为通用协作组(比如
projectteam),并启用SGID:sudo chown :projectteam /project && sudo chmod g+s /project
2. 用默认ACL区分写入范围
默认ACL决定“谁能在新建内容上做什么”。对整个/project目录设置两套默认规则:
- 研发组需要改代码、脚本、配置:
setfacl -d -m g:devgrp:rwx /project - UI组只改静态资源(图片、CSS、Figma导出文件等),禁止碰逻辑层:
setfacl -d -m g:uigrp:rwX /project/assets /project/public/css /project/public/images - 同时收紧敏感路径(如/config、/scripts):
setfacl -m g:uigrp:--- /project/config /project/scripts
3. 控制新建文件的实际权限边界
即使设了默认ACL,用户本地umask仍会过滤权限。例如umask=022时,rwx会被砍成r-x,导致UI组无法写入图片。所以必须统一:
- 所有协作用户shell中设
umask 002(写入/etc/profile.d/acl-work.sh) - 验证效果:切换到carol用户,在/project/assets下执行
touch logo.png && mkdir icons,再运行getfacl logo.png,应看到g:uigrp:rw-条目
4. 目录与文件权限要分开看
ACL里的X(大写)很关键——它只给目录和已有执行位的文件加x,避免HTML被误设为可执行:
- 对代码目录用
rwx(研发需执行脚本) - 对静态资源目录用
rwX(UI上传图片不需要x,但目录本身必须有x才能进入) - 对纯文本配置文件,可额外用
setfacl -m g:uigrp:---彻底锁死
相关文章
- TPLink TLWR847N 无线路由器设置二级路由方法 08-30
- 舞力全开派对竞技场 舞力全开派对竞技场高胜率对战技巧与实战攻略 08-30
- Harness是什么-工程外壳和流程控制 08-30
- Atlas 血缘采集延迟从 30 秒怎么部署-环境配置 08-30
- TPLink TLWR845N 无线路由器设置为无线交换机方法 08-30
- 持续集成之Jenkins怎么安装-安装步骤和配置要求 08-30