Mac OS X Snow Leopardでは、あるファイルの権限が他のファイルの権限とどのように一致するのですか?

Mac OS X Snow Leopardでは、あるファイルの権限が他のファイルの権限とどのように一致するのですか?

あるファイルの権限がOS X 10.6の他のファイルの権限と正確に一致するようにする必要があります。

私はそれを見ていないか、getfacl他のsetfaclLinuxの記事で提案されているように見えません。また、Snow Leopardではこのオプションは利用できないようですchownchmod--reference

Macでこれに対応するものは何ですか?

答え1

これはうまくいきます:

chmod `stat -f %A srcFile` dstFile

答え2

わかりました。直接 ACL コピーのコマンドは表示されません。ただし、スクリプトや関数に入れることはできます。

ls -le source | sed -En '/^ [[:digit:]]+: / { s/^ [[:digit:]]+: //; p; }' | chmod -E dest

例えば。

function copyacl()
{
  ls -le "$1" \
    | sed -En '/^ [[:digit:]]+: / { s/^ [[:digit:]]+: //; p; }' \
    | chmod -E "$2"
}

$ copyacl sourcefile destfile

私もこんな感じです。sedスクリプトを改善することはできますが、正常に動作しているようです。

答え3

ls -leファイルに関連するACLを表示するために使用されます。

ACLを変更または削除するために使用されますchmod。記事の終わりに多くの例があります。chmod のマニュアルページあなたを案内します。

Mac OSには、BSDから継承された別々のファイルアクセスフラグセットがあります。ダッシュls -lO(ダッシュ)を表示および変更できます。chflags

答え4

標準のUNIX権限またはACLについて尋ねるかどうかはわかりません。多くのバージョンには、他のファイルに対する権限を取得するオプションがchmodあります。--reference

chmod --reference=~/backup/file ~/newfile

chmodただし、Macでオプションを確認する必要があります。

chmod --help

関連情報