在 Mac 文件夹权限白名单设置中,首先要确认目标用户已经成功登录过系统并生成有效 UID,然后开启“文件共享”并添加目标文件夹;接下来在简介面板中移除 everyone 等泛化权限组,最后通过终端执行 sudo chmod +a 命令,为指定用户添加带继承属性的 ACL 白名单权限规则。

在 Mac 系统中,给文件夹添加权限白名单,指的是只允许特定用户或群组持续、稳定地访问该目录,并避免后续被系统默认权限或继承权限自动覆盖。例如,设计师账号需要始终保留“读与写”权限,不能因为系统更新、权限重置或继承规则变化而突然变成“无访问权”。因此,实际操作中需要绕过访达简介面板的默认权限分配方式,主动清除 everyone 这类宽泛权限组,同时固定 ACL 继承链,才能真正实现 Mac 文件夹白名单权限控制。
确认目标用户已生成有效UID
打开“系统设置”→“用户与群组”,查看右侧列表中的目标用户名是否显示为黑色(而不是灰色)。如果用户名是灰色,说明该用户还没有在这台 Mac 上成功登录过,【必须先使用该账户完整登录一次并正常退出,否则权限设置无法绑定到真实 UID,即使设置成功表面上也不会生效】。
未登录过的账户通常不会在本地生成完整用户目录,ACL 权限规则也无法准确锚定到对应身份标识。这样一来,后续无论使用 chmod +a 命令,还是通过简介面板调整 Mac 文件夹权限,系统都可能直接静默失败。
启用文件共享并绑定目标文件夹
点击苹果图标→“系统设置”→左侧边栏“通用”→“共享”→勾选“文件共享”。
在“共享文件夹”区域下方点击“+”→浏览并选中目标文件夹(如/Users/Shared/DesignAssets)→点击“添加”。
这一步是设置 Mac 文件夹权限白名单的必要前提。如果不启用文件共享,其他用户不仅无法通过网络发现该目录,本地也难以在访达地址栏中直接访问该路径,那么后续所有 ACL 权限设置都会失去实际作用对象。
用访达简介面板清除泛化权限组
在访达中右键点击已加入共享列表的目标文件夹→选择“显示简介”。
滚动到底部“共享与权限”区域→点击右下角锁形图标→输入管理员密码解锁。
在用户列表中找到“everyone”,点击其右侧权限下拉菜单,设置为“无访问权”。
像“staff”“wheel”这类群组项目,也都需要统一改成“无访问权”。
【这一步不能省略,否则任何属于 staff 组的用户(包括后续新建账户)都可能默认继承访问权限,你设置的文件夹白名单就会失去限制效果】
点击齿轮图标→选择“应用到封闭的项目”→在弹出对话框中点击“应用”。
终端添加ACL白名单规则
打开“终端”,执行以下命令:
sudo chmod +a "designer allow list,search,readattr,readextattr,readsecurity,read,execute,file_inherit,directory_inherit" /Users/Shared/DesignAssets
其中 designer 是已经确认存在并生成有效 UID 的用户名,后面的路径需要替换成你的真实文件夹路径。该命令会把 designer 明确加入 ACL 白名单,并确保该目录下新建的文件和子文件夹自动继承相同权限(file_inherit + directory_inherit)。
命令执行后通常不会弹出成功提示,直接回车完成即可,这也是 Mac 添加文件夹权限白名单最关键的一步。
