はい、Macにはファイルの分野でUnixに対する多くの機能強化があります。あまり使用されていないリソースフォーク全体を無視すると、次のようになります。
- 標準的なUnixの権限
ugo
rwx
など。通常のUnixツールが適用されます。
- ACLで表示
ls -le
、変更可能chmod [ -a | +a | =a ]
。
- ファイルフラグで表示できる
ls -lO
(資本ああ、ゼロではない)とで変更可能chflags
。
- 拡張属性、表示可能
ls -l@
(属性キーのみ)、表示可能および変更可能xattr
。(何も得られないxattr -h
場合man xattr
はヘルプに使用してください。)
- OS X 10.11「エル・キャピタン」で始まるシステムの整合性の保護、さらに(SIP)が使用する場合でも、通常のプロセスからの変更からいくつかのファイルを保護し
sudo
て実行しますroot
。SIPで保護されているファイルls -lO
は、restricted
フラグls -l@
を持つものとしてリストされ、com.apple.rootless
属性を持つものとしてリストされます。
Unixの許可、ACL、ファイルフラグ、またはSIPにより、ファイルに対する操作が拒否される場合があります。ファイルを完全にロック解除するには:
sudo chmod -N file # Remove ACLs from file
sudo chmod ugo+rw file # Give everyone read-write permission to file
sudo chflags nouchg file # Clear the user immutable flag from file
sudo chflags norestricted file # Remove the SIP protection from file
sudo xattr -d com.apple.rootless file # Remove SIP protection from file
システムの整合性の保護(SIP)が有効になっている場合、sudo chflags norestricted
そしてsudo xattr -d com.apple.rootless
また、「操作が許可されていません」というエラーが返されます。フラグや属性をクリアするには、macOS Recoveryで起動し、ターミナルからコマンドを実行する必要があります(最初にディスクユーティリティを使用して起動ドライブのロックを解除してマウントする/Volumes/Macintosh HD
必要があります。ドライブに名前が付けられている)またはSIPを完全に無効にしてから再起動すると、コマンドが機能するはずです。ただし、今後のOSの更新により、削除したファイルのrestricted
フラグとcom.apple.rootless
属性が復元される可能性があることに注意してください。
SIPを無効にすると、マルウェアや偶発的な損傷に対する多くの保護が削除されるためお勧めできません。また、ファイルごとに保護を簡単に削除できる場合は不要です。SIPを無効にした場合は、変更が完了したら再度有効にします。
フラグが設定されていることをls -lO
示している場合は、schg
設定を解除するためにシングルユーザーモードにする必要があることに注意してください。ファイルにそのフラグが設定されている理由と、なぜそれを混乱させようとしているのか、そして結果はどうなるのかについて、より大きな質問があるので、ここには触れません。
sudo chgrp wheel ./entries
か?