OS X で、あるフォルダの権限を別のフォルダに複製する方法はありますか。明確にするために、フォルダー全体をコピーするのではなく、アクセス許可だけをコピーして、それらを別のフォルダーに設定したくありません。この種のことは、setfacl/getfacl コマンドを使用して Linux/UNIX で実現できると思いますが、OS X でこれを行う方法がわかりません。
ありがとう
OS X で、あるフォルダの権限を別のフォルダに複製する方法はありますか。明確にするために、フォルダー全体をコピーするのではなく、アクセス許可だけをコピーして、それらを別のフォルダーに設定したくありません。この種のことは、setfacl/getfacl コマンドを使用して Linux/UNIX で実現できると思いますが、OS X でこれを行う方法がわかりません。
ありがとう
bash の Mac OS X v10.5.7 でテスト済み:
chown $(stat -f%u:%g "$srcdir") "$dstdir" # Copy owner and group
chmod $(stat -f%Mp%Lp "$srcdir") "$dstdir" # Copy the mode bits
(ls -lde "$srcdir" | tail +2 | sed 's/^ [0-9]*: //'; echo) | chmod -E "$dstdir" # Copy the ACL
注: これらの操作 (特に所有権の変更) には、ルート アクセスが必要になる可能性があります。sudo
最良の結果を得るために振りかけます。また、最後の行の奇妙なecho
コマンドは、srcdir に ACL エントリが添付されていない場合のエラーを防ぐためにあります (chmod -E
空白行には対応できますが、完全に空の入力には対応できません)。
私が最終的にやったのは、Perlスクリプトを使用してファイルのアクセス許可を見つけ、chmod/chownを使用してそれらのアクセス許可を適用するObjective Cメソッドを作成することでした(とにかくCocoaアプリでこれを使用することを計画していました)。