macOSのセキュリティ機能の一つに、プログラムを初めて起動したときに表示される「これはインターネットからダウンロードしたアプリケーションです。開いてもよろしいですか?」というプロンプトがあります。
これは、一般ユーザーにとっては、誤ってダウンロードしたプログラム(マルウェアなど)を開かないようにするのに役立つかもしれませんが、上級ユーザーの場合は、このプロンプトを回避したい場合があります。ダウンロードして開くファイルをきちんと管理している場合、このダイアログは時間の無駄になる可能性があります。対処法はいくつかあり、このガイドではそれぞれの長所と短所を説明します。
1. 右クリックして開く
これは、Gatekeeperのプロンプトに対処するための、これまでで最も簡単で安全な方法です。多少の時間がかかり、プロンプトへの対処を完全に回避できるわけではありませんが、セキュリティを維持しながらアプリケーションを即座に開くことができます。
システム環境設定を参照したり、Gatekeeperを無効にしたりせずに、Gatekeeperによってブロックされたファイルを開くには、該当するファイルを右クリック(または Controlキーを押しながらクリック)し、表示されるメニューから 「開く」を選択します。確認を求めるプロンプトが表示されます。 もう一度「開く」をクリックすると、アプリケーションが開きます。
今後、承認されたアプリケーションは確認なしで起動します。この操作は初回起動時のみ必要です。この方法は、「Xはインターネットからダウンロードされたアプリケーションです。開いてもよろしいですか?」と「XはApp Storeからダウンロードされていないため、開けません」の両方のプロンプトに有効で、Gatekeeperは常に有効のままです。
2. システム環境設定から許可する
この方法は機能的にはオプション1と同じですが、少し時間がかかるため、あまりお勧めできません。それでも、この方法があることを知っておくのは良いことです。まず、アプリケーションをダブルクリックします。開けないというメッセージが表示されたら、キャンセルしてシステム環境設定を起動します。 「セキュリティとプライバシー」 セクションに移動し、「一般」 タブにブロックされたプログラムが表示されます。「とにかく開く」 をクリックして起動します。これまでと同様に、プログラムごとに1回だけ実行すれば十分です。
3. ゲートキーパーを完全に無効にする
この方法はプロンプトの表示を完全に回避しますが、Gatekeeperの保護が完全に失われるという、非常に明白な欠点があります。そのため、自分が何をしているのかを本当に理解していて、ダウンロードしたファイルの出所と整合性を別の方法で個人的に確認する方法を知っている場合を除き、この方法はお勧めしません。
Gatekeeper によるファイルの検査を望まない場合は、以下の手順に従って Gatekeeper を完全に無効にしてください。
1) Mac でターミナルを開きます。
2)プロンプトで次のコマンドを入力します。
sudo spctl --master-disable
3) Enter キーを押して発行し、 システム環境設定を起動します。
4) [セキュリティとプライバシー]に移動し 、[全般] の下にある [ダウンロードしたアプリの実行許可] セクションに、以前はなかった3 番目の切り替えボタンが表示されます 。
ご覧の通り、 「ダウンロード元:すべての場所」からアプリを許可できるようになりました。これはGatekeeperが完全に無効になっていることを意味します。OSは今後、プログラムを起動する前に確認メッセージを表示しなくなります。これは最も時間効率が良い方法ですが、安全性は最も低い方法でもあります。賢くご利用ください。
Gatekeeperを再度有効にするには、他の2つのトグルのいずれかを再度選択するだけです。システム環境設定を閉じて開くと、「Anywhere」 オプションは再び消えているため、手順2のコマンドを再度実行して再度有効にする必要があります。
4. 隔離を無効にする
この方法はオプション3と全く同じ効果がありますが、方法が異なります。あまり文書化されていないため、この方法の使用はお勧めしません。オプション3は認可された方法で、同じ結果が得られます。しかし、ここでは難解な表現を避けるため、ここに記載しました。
この方法は、ファイルの隔離を無効にします。ブラウザ、メール、AirDropなどのインターネットアプリケーションからダウンロードされたファイルは、通常、これらのプログラムによって隔離属性が付けられます。これがGatekeeperがファイルの整合性をチェックする理由です。Gatekeeperは隔離フラグが付いていないファイルはチェックしません。つまり、隔離はGatekeeperの基盤となる機能です。オプション3はGatekeeperを無効にします。つまり、ファイルに隔離フラグが付いている場合でも、ファイルをチェックしません。この方法(オプション4)は、ファイルへの隔離フラグの割り当てを無効にします。つまり、Gatekeeperは技術的には無効になっていないにもかかわらず、ファイルをチェックする必要がないと判断します。
2つの方法は同じ結果をもたらしますが、使用されるメカニズムが異なります。前述の通り、これは少し変わった手法であり、おそらく理想的ではありません。ファイルの隔離を無効にするには、以下を参照してください。
1) ターミナルを開きます 。
2)プロンプトで次のコマンドを入力します。
defaults write com.apple.LaunchServices LSQuarantine -bool false
3) Enter キー を押して コマンドを発行します。
4)設定が正しく設定されていることを確認するには、プロンプトで次のコマンドを入力します。
defaults read com.apple.LaunchServices
設定されている場合は、印刷結果に LSQuarantine = 0と表示されます。
5) 変更を適用するにはコンピューターを再起動します。
6) 再起動後、インターネットからダウンロードしたプログラムを開いてテストします。
隔離を再度オンにしたい場合 (そうすべきです)、次の手順に従って再度有効にすることができます。
1)ターミナルを起動します。
2) プロンプトで、次の 2 つのコマンドのいずれかを入力します。
defaults write com.apple.LaunchServices LSQuarantine -bool true
defaults delete com.apple.LaunchServices
最初のコマンドは、元の手順で設定した値を trueに戻し、ダイアログボックスを復元します。2番目のコマンドは、元の手順で作成したパラメータを完全に削除し、ダイアログボックスを復元します。最終的な結果は同じなので、どちらか好きな方を選んでください。
3) 変更が成功したことを確認するには、 読み取り コマンドを再度入力します。
defaults read com.apple.LaunchServices
手順 2 で-bool true コマンドを入力した場合 、出力は次のようになります。
LSQuarantine = 1 は ダイアログボックスが有効であることを意味します。 手順2で削除 コマンドを入力した場合、出力は次のようになります。
これは、パラメータが完全に削除され、ダイアログ ボックスを表示するデフォルトの動作に戻ることを意味します。
4) 再起動します。
アンコールの場合、特定のファイルから隔離属性を削除したい場合は、以下のコマンドを使用できます。このコマンドは、Gatekeeperだけでなく隔離全般も有効のままにしておくため便利ですが、特定のファイルに対してプロンプトが表示されなくなります。安全だとわかっているアプリケーションを複数のコンピュータにインストールする必要がある場合など、すべてのコンピュータでプロンプトが表示されないようにするには、隔離属性を削除してください。ターミナルから:
xattr -d com.apple.quarantine /path-to-quarantined-file
/隔離ファイルのパスを ファイルの場所に置き換えるか、コマンドの該当部分でファイルをターミナルウィンドウにドラッグしてください。これで、ファイルは「既知の安全なファイル」としてGatekeeperの網をすり抜けるようになります。
こうやってクッキーは崩れていく。ちょっとした不便さも、コマンドラインの力によって解消される!
これらの方法のうち、いくつを常に意識していましたか?Gatekeeperを信頼していますか?それとも不要だと思いますか?Gatekeeperと隔離の違いをご存知でしたか?
次にチェックしてください:
- アプリが全画面表示のときでもMacのトップメニューバーを表示する方法
- Macでファイルやフォルダのフルパスを見つける6つの方法
- Macで高電力モードを使用する方法