Written by
JackYamamotoターミナルでls -l@コマンドを実行して、ファイルにアタッチされた拡張属性を確認すると、一部のファイルにcom.apple.quarantine属性が付いていることがあります。それが何なのか、またはそれを削除する方法が知りたい場合は、この記事が役に立ちます。
com.apple.quarantineとは何ですか?
com.apple.quarantine は、インターネットからダウンロードしたり、メールの添付ファイルとして受け取ったり、App Store 以外のソースから入手したファイルやアプリに付加される拡張属性です。これは、Google Chrome、Safari、メールなど、ファイルのダウンロードや受信に使用したアプリケーションやサービスによって割り当てられる隔離属性です。
隔離されたアプリケーションやファイルを初めて開こうとすると、ファイルを開く意思を確認するプロンプトが表示され、macOS はファイルの安全性を確認するためにセキュリティチェックを実行します。関係するプロセスは次のとおりです:
警告プロンプト: com.apple.quarantine 属性を持つファイルやアプリを開くと、macOS はファイルの出所を通知し、開くかどうかを尋ねるプロンプトを表示します。
Gatekeeperチェック: 確認すると、Gatekeeper はアプリの開発者署名を検証して、識別された開発者または Mac App Store からのものであることを確認し、アプリの整合性をチェックしてコードが変更されていないことを確認します。
XProtectスキャン: アプリが Gatekeeper を通過した場合、XProtect はマルウェア定義を使用して既知の悪意のあるコンテンツをスキャンします。
com.apple.quarantine属性を確認する方法は?
com.apple.quarantine はファイルではなく、ディスク上で開いて表示できる物理的な場所はありません。ただし、ターミナルで次のコマンドを実行すると、ファイルに com.apple.quarantine 拡張属性があるかどうか、またはどのファイルに属性があるかを確認できます。
ファイルまたはアプリに com.apple.quarantine 拡張属性があるかどうかを確認するには: (ある場合は、属性の値を返します。)
xattr -p com.apple.quarantine file_path
ディレクトリまたはアプリ内のファイルに com.apple.quarantine 拡張属性があるかどうか確認するには:
cd フォルダー/アプリ名
find . -xattrname com.apple.quarantine
注意: ファイルまたはフォルダーのパスを取得する最適な方法は、ターミナルに直接ドラッグ アンド ドロップすることです。
com.apple.quarantine の削除方法
com.apple.quarantine 属性は優れたセキュリティ メカニズムとして機能しますが、次のようなエラーが発生して、身元不明の開発者からのアプリを開けなくなる場合があります。
ファイルまたはアプリの com.apple.quarantine 属性を手動で削除するには、ターミナルで以下のコマンドを実行するだけです。
xattr -d com.apple.quarantine ファイルパス
例えば、xattr -d com.apple.quarantine /applications/rstudio.app
com.apple.quarantine 属性を再帰的に削除するには、次のコマンドを実行してください:
xattr -r -d com.apple.quarantine フォルダーパス
例えば、xattr -r -d com.apple.quarantine /applications/steam.app
コマンドが機能しない場合または「xattr: [Errno 13] Permission denied:」で失敗する場合は、コマンドの前に sudo を追加して、管理者権限でコマンドを実行できます。例: sudo xattr -d com.apple.quarantine /applications/visual studio code.app。この場合、管理者パスワードを入力し、Enter キーを押す必要があります。(パスワードは画面に表示されません。)
ヒント: 「xattr」コマンドツールの詳細な使用法については、ターミナルでman xattrを実行してください。
他の人が com.apple.quarantine 属性を削除できるように、情報を広めてください。
no such xattr: com.apple.quarantine?
xattr -d com.apple.quarantineコマンドやxattr -p com.apple.quarantineコマンドを実行して、ファイルのcom.apple.quarantine属性を削除または表示しようとした場合、ファイルにその属性が現在設定されていない場合、ターミナルは「No such xattr: com.apple.quarantine(そのようなxattrは存在しません)」というメッセージを返します。
いくつかの例:
- xattr: /Applications/LICE.app: No such xattr: com.apple.quarantine
- xattr /opt/homebrew/bin/chromedriver: No such xattr com.apple.quarantine
- xattr /applications/visual studio code.app: No such xattr com.apple.quarantine
- xattr: chromedriver: No such xattr: com.apple.quarantine
com.apple.quarantineを復元するには
削除した後にcom.apple.quarantine属性を復元したい場合は、以下のコマンドを使用できます。
xattr -w com.apple.quarantine "Vaule" /path/to/your/file_or_app
属性の値を書き留めていない場合は、以下の例の値を入力できます。
「iBoysoft Data Recovery」というアプリにcom.apple.quarantine属性を復元するには、次を実行します:xattr -w com.apple.quarantine "0081;5f186d1d;Chrome;" /Applications/iBoysoft\ Data\ Recovery.app
役に立ったと思ったら、この投稿をシェアしてください。