所有权选项

还记得在前面“确保文件权限”小节中,建议读者不要运行该病文件属性的命令吗?本章就来解释为什么。

pkgbuild命令本身有一个设置安装包中“--root”所指定目录中的文件的所有权的选项,即便是不明确指定他也会按照命令的默认行为处理。这也是为什么在“制作安装包”一节中的命令,并没有使用这个选项却可以制作成功的一个原因。

下面的命令演示使用—ownership选项制作安装包的命令形式:

$ sudo pkgbuild --root root --ownership recommended --identifier "lts.ApplePai.copyApp" copyApp.pkg

其中参数“recommended”是“--ownership”选项的默认值。虽然说是默认值,对于初学者来说,明确的写出来以利于读者阅读和理解。它的作用是:使用系统推荐的用户(UID)和组(GID)属性来设置安装包中文件所有权。

所谓的“推荐”属性的意思是,根据文件被安装的目标目录的属性决定的,比如在/Applications/Utilities目录中就是root:wheel。对于目标是用户个人文件夹的文件,使用该用户的UID和GID

--ownership 还有其它两个参数:

preserve:保留当前所有磁盘文件的所有者。

preserve-other:系统使用“recommended”的行为方式设置与当前用户所属权相同的文件,而对于其他的文件则会保留其属性。

虽然说可以让 pkgbuild 命令来决定所有权,但是对于复杂的文件来说,建议读者在实际操作中,还是使用 chown 命令来控制特殊文件,并使用 preserve 参数。

Last updated