2

我创建了 Mac 包以安装我的一些东西。我有 postflight 脚本,它应该将一些数据复制到 /Library/Application Support/Apple/Mail/Stationery/Apple/Contents/Resources/Stationery/Contents/Resources/ - 并且出于此处提到的原因:我如何构建linux上的Mac包?(BOM 文件问题)它需要是飞行后脚本。

但是它不起作用(它只是下载一个 zip 文件,将其解压缩并 cp 到提到的位置)。所以我通过将 2> 添加到 cp 来检查错误,这就是发生的事情:

cp:/Library/Application Support/Apple/Mail/Stationery/Apple/Contents/Resources/Stationery/Contents/Resources/:权限被拒绝

我仔细检查了我的 Info.plist 并且看起来保留了正确的设置:

<key>IFPkgFlagAuthorizationAction</key>
<string>RootAuthorization</string>

但是脚本仍然没有权限。我试过“whoami”,它返回了当前登录的用户。更奇怪的是,安装程序实际上要求管理员身份验证。你们有什么想法我应该怎么做才能让这个脚本以root/admin/拥有更大权限的人身份运行?

4

2 回答 2

1

安装程序显示管理员身份验证警报的事实意味着安装程序已经通过身份验证(可能是将文件安装到仅管理员/根目录的位置)。

如果我没记错的话,在我自己的 Postflight 脚本中,我sudo在脚本中添加了对执行 admin/root 特权操作的调用。尝试这种方法,看看它是否有效。我不知道这是否是“最佳实践”方法(或者可能是,因为可以签署安装程序)。

于 2012-01-08T14:28:40.810 回答
0

我认为在 Lion.Installer 中不可能从当前用户启动脚本。

于 2012-01-24T07:02:03.473 回答