在构建软件包的时候你可能会需要对包源内文件或文件夹的权限做出相应的调整,以确保软件包在部署到客户端后可以正常运行。在此之前我们先来了解一下Apple文件系统内文件或文件夹的权限设定。
常见的文件或文件夹会有Owner, Group, Everyone这三种类型的所有权:
· Owner—文件或文件夹的创建者、所有者。
· Group—默认情况下该所有权会从上级目录继承,因此大部分属于staff, wheel, admin这三个组,Group设置用于设定其他非所有者用户的访问权限。
· Everyone—Everyone设置用于设定非所有者且不属于Group内任何人的访问权限。
了解了所有权之后,我们再来了解一下权限。
对于文件:
· Read and Write—用户或组成员可以打开文件并保存更改。
· Read Only —用户或组成员可以打开文件,但是无法保存更改。
· No Access—用户做组成员无权法访问该文件。
对于文件夹:
· Read and Write—用户或组成员可以浏览和更改文件夹的内容。
· Read Only —用户或组成员可以浏览文件夹的内容,但是无法更改文件夹的内容。
· No Access—用户或组成员无权访问该文件夹的内容。
下图是系统内应用程序文件夹的默认权限,root为文件夹所有者并有读写权限,admin组有读写权限,everyone有只读权限。一般情况下系统内任何用户可以访问并运行这个目录下的所有应用程序。
软件在安装到指定目录中后,所有者权限一般为root或是当前账户,在构建应用包源的时候需要配置正确的所有者、组、其他所有人的权限,如下图所示。
由于macOS系统内应用本身是一个可以展开的包,你可以通过右键该应用,选择”显示包内容”来查看其包含的所有文件和文件夹,如下图所示。
所以你还需要将调整后的权限继承到其所有子目录的文件夹或文件夹,通常我们会选中需要打包软件的上一级系统目录(如Applications )并将其权限继承到所有子项,如下图。
至此,你已完成了权限的设置,接下来根据实际需求选择你所需要创建的包格式来完成软件包的制作。