磁盘工具支持创建DMG,其“文件→新建映像”可从空白或文件夹制作映像,但操作对象是挂载卷而非.dmg文件本身;权限不足多因源目录受SIP保护、输出路径无写入权或hdiutil/create-dmg执行权限缺失所致。
mac 磁盘工具本身不提供“创建 dmg”的功能,它只能验证、修复或转换已存在的磁盘映像。如果你看到“权限不足”提示,实际是误用了磁盘工具,或混淆了工具链——真正负责创建 dmg 的是命令行工具 hdiutil 或第三方脚本(如 create-dmg),而它们运行时才可能因权限问题报错。
确认你用的是正确工具
磁盘工具(Disk Utility)界面里没有“新建 DMG”按钮,只有“文件 → 新建映像”菜单项,但它仅支持从文件夹或设备“制作映像”,且要求你有读取源内容的权限。常见误操作包括:
- 试图对受系统保护的目录(如
/System、/usr/bin)右键“制作映像”→ 触发 SIP 拦截,报“Operation not permitted” - 选中一个正在被其他进程占用的文件夹(如打开中的 Xcode 项目)→ 提示“无法访问”或“权限被拒绝”
- 目标保存路径(如
/Volumes/MySSD)为只读卷或无写入权限的网络盘 → 创建失败
用 hdiutil 创建时提示权限不足的解决方法
绝大多数“创建 DMG 权限不足”场景来自终端执行 hdiutil create 或 create-dmg 脚本。关键检查点:
-
输出路径是否可写:确保目标文件夹存在且当前用户有写权限。例如:
mkdir -p ~/Desktop/DMG_Build,再把命令输出指定到该路径 -
源文件夹是否有读权限:运行
ls -l /path/to/source,若显示dr-xr-xr-x或所有者为root,需先修复:sudo chmod -R u+rX /path/to/source -
create-dmg 脚本未授权执行:下载后默认无执行权,运行
chmod +x create-dmg再执行;若仍报 Permission denied,检查是否在 SIP 保护路径(如/usr/bin)下安装,建议改放~/bin并加入 PATH
绕过 SIP 限制的注意事项
如果你确实需要从 /Applications 或 /Library 等受保护位置打包内容,SIP 会阻止读取——但不建议关闭 SIP。更安全的做法是:
- 先将所需文件复制到用户目录(如
~/TempSource),再从那里创建 DMG - 使用
hdiutil create -srcfolder时加-ov(覆盖)和-format UDZO参数,避免中途因权限中断 - 若必须读系统路径,进入恢复模式 → 终端执行
csrutil disable(仅临时,完成后务必重开 SIP)
检查并修复用户权限配置
有时权限问题根源不在镜像创建过程,而是当前账户权限异常:
- 终端运行
id -Gn,确认输出含admin和wheel;若缺失,需在“系统设置 → 用户与群组”中勾选“允许管理此电脑” - 检查
/private/tmp是否可写:ls -ld /private/tmp应显示drwxrwxrwt;若不是,用sudo chmod 1777 /private/tmp修复 - 若长期遇到权限混乱,可在恢复模式中运行
diskutil resetUserPermissions / $(id -u)重置主目录权限

















