1

カスタム SDK と Xcode プラグインをインストールするパッケージ メーカーを使用して OS x pkg を作成しました。推奨どおり、ペイロードのアクセス許可は root:admin と chmod 775 に設定されています。

Xcode 3.2 および Xcode 4.0 で作成されたパッケージを使用する OS X 10.6(Snow Leopard) では問題なく動作しますが、Xcode 4.1 を使用する OS X 10.7 (Lion) では、ファイルのアクセス許可が root:wheel に変更されます。

10.6 で 10.7 パッケージを作成すると、権限が正しく設定されます。パッケージのアクセス許可に関して 10.7 または Xcode 4.1 に何らかの変更があった場合のアイデアはありますか?

4

2 に答える 2

1

PackageMaker、または /usr/sbin/installer は、パッケージのビルド時に指定された所有者と許可を無視する傾向があります。ペイロードを PackageMaker に追加する前に、ペイロードの所有者と権限を設定する必要があります。

コマンドラインで packagemaker を使用してビルドする場合は、必ず --no-recommend を指定してください。そうしないと、システムからパッケージに「推奨」権限が適用されます。

于 2012-06-28T13:28:08.363 に答える
0

これがあなたの望むものかどうかはわかりませんが、こちらのドキュメントを参照してください: https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/pkgbuild.1.html

特にこの部分:

--ownership (recommended | preserve | preserve-other) デフォルトでは、ペイロードがパッケージにアーカイブされると、推奨される UID と GID がすべてのファイルに適用されます。(通常、これは root:wheel であり、システム ドメインにインストールされたファイルはルート所有であることが保証されますが、ユーザー ホーム ディレクトリにインストールされたファイルはそのユーザーによって所有されます。) 特別な所有権要件がある場合は、次を使用する必要があります。 chmod(1) を使用してソース ファイルの所有権を調整し、 --ownership preserve を使用して、pkgbuild がディスク上のファイルの正確な所有権をアーカイブするようにします。または、調整するファイルが数個しかない場合は、--ownership preserve-other は、pkgbuild を実行しているユーザーが所有するファイルに、recommended 推奨修正済み UID および GID を適用しますが、他のファイルは変更しません。pkgbuild は、実際のディスク上のファイルの所有権を変更することはなく、パッケージにアーカイブされる所有権のみを変更することに注意してください。

于 2015-10-09T05:13:43.430 に答える