
macOSのアプリにおいて特定のアプリをアンインストールせずに実行を不可にしたり、変更が加えられるのを防ぐために保護(プロテクト)をかける方法を紹介。
なお、本記事ではFirefoxを例に解説している(もちろん他のアプリでも手順は同じ)。
INDEX
アプリの実行をブロックする
1. アプリのパッケージフォルダから実行ファイルを探す

アプリを消去(アンインストール)せずに実行だけをブロックしたい場合は、まずブロックしたいアプリを右クリックして「パッケージの内容を表示」をクリック。
パッケージの内容が表示されるのでフォルダを辿っていき「MacOS」というフォルダを開く。

するとそのアプリの名前が付いた実行ファイル(Firefoxならfirefox)があるはずだ。
この実行ファイルの場所はmacOSではどのアプリでも同じだ。
参考までにFirefoxの実行ファイルへのパスは下記のようになる。

macOSでは基本的にアプリの実行ファイルはパッケージの中の「Contents」>「MacOS」のフォルダに存在する。
2. ターミナルコマンドで実行ファイルをブロック
実行ファイルを把握したら続いてターミナルを開いて下記のようなコマンドを入力しよう。
sudo chmod -x
続いて先ほど見つけたアプリの実行ファイルをターミナルにドラッグアンドドロップしよう。

ドラッグアンドドロップすると実行ファイルへのパスが入力されるはずだ。
Firefoxの場合は最終的に下記のようなコマンドになる。
sudo chmod -x /Applications/Firefox.app/Contents/MacOS/firefox

正常にパスが入力されたらエンターキーを押してコマンドを実行しよう。
パスワードの入力を求められたら管理者パスワードを入力して再度エンターキー。
これで実行ファイルはブロックされた。
実行ファイルをブロックしたアプリは解除しない限り他のユーザーやシステムでさえも実行はできなくなる。
なお、アプリごとブロックするのではなく実行ファイルのみをブロックしているのはアプリごとブロックするとアプリのパッケージ全体がブロックされアプリのアイコンなどの整合性がおかしくなってしまうことがあるため、ここでは実行ファイルのみをブロックする方法を取っている(アプリごとブロックするとアイコンの変更などもできなくなってしまう)。
3. アプリが実行できなくなっているのを確認する

改めて実行ファイルをブロックしたアプリを起動すると「アクセス権がなく開けない」というダイアログが出てアプリが起動できなくなっているはずだ。
これでアプリの実行のブロックは完了だ。
4. 元に戻す場合
元に戻す場合は前述のコマンドの「-x」という部分を「+x」にして下記のように再度コマンドを実行しよう。
sudo chmod +x /Applications/Firefox.app/Contents/MacOS/firefox

コマンド実行後は再度アプリが開けるようになる。
アプリを保護する方法
1. アプリの実行をブロックする方法と同じ手順を踏む
アプリの実行のブロックではなくアプリの編集や改変を禁止(保護)するには前述の「アプリの実行をブロックする方法」と同じく下記のようなコマンドをターミナルに入力しよう。
sudo chflags schg /Applications/Firefox.app/Contents/MacOS/firefox

アプリの実行ファイルへのパスは前述の方法と同じくアプリの実行ファイルをターミナルにドラッグアンドドロップして入力しよう。
コマンド実行後、改めてアプリの実行ファイルを見てみるとアイコンに鍵マークが付いているはずだ。

鍵マークが付いた実行ファイルは実行は可能だが改変や編集は不可能となり、もちろんアプリのアップデートがあった場合でもロックされたままとなる(一部のアプリでは例外があるかもしれない)。
2. 元に戻す場合
アプリの保護を解除する(元の状態に戻す)には下記コマンドを実行する。
sudo chflags noschg /Applications/Firefox.app/Contents/MacOS/firefox

アプリの実行のブロック・保護は慎重に
本記事で解説したアプリの実行のブロックと保護はシステムさえも実行や改変が不可能となるため、無闇にアプリやファイルなどをブロック・保護するとmacOSやアプリに問題が生じたり、正常なアップデートが行われなくなる恐れもあるので慎重に行おう。
また、カスタムアイコンなどを設定しているアプリのアイコンを本記事の手順で保護してもアプリのアップデートなどがあった際はアイコンが消滅した状態になることがあるため、万能というわけでもないので注意しよう。