macOSで特定のアプリをブロックする


15

macOS上の特定のアプリのリストをブロックする方法はありますか?

Cisdemなどのソリューションを調べましたが、動作方法に気に入らない穴がいくつかあります。

  1. アクティビティモニター、ターミナル、システム環境設定もブロックしない限り、Cisdemプロセスを終了するか、新しいユーザーを作成して回避できます。
  2. 正しく機能させるには、アクティビティモニター、ターミナル、システム設定をブロックする必要があります。

アプリの実行やMacへのインストールをブロックしたい。アプリは、App StoreおよびWeb経由でインストールできます。これにどう対処するかわからない。保護者による制限を有効にしても、管理者権限が必要になるため機能しません。

ブロックしたいアプリはApple Configuratorです。

何か案は?

回答:


14

Gatekeeperを使用してアプリケーションへのアクセスを制御する

あなたは使用することができspctl、承認と未承認のアプリケーションのリストを作成する(ゲートキーパー)を。

たとえば、メールを許可し、Chromeをブロックするとします。

sudo spctl --add --label "ApprovedApps" /Applications/Mail.app 
sudo spctl --add --label "DeniedApps" /Applications/Chrome.app

上記のコマンドは、MailとChromeをそれぞれ「承認」および「拒否」として「ラベル付け」します(独自の記述子を使用できます)。

次に、アプリを有効/無効にするには、次のコマンドを発行します。

sudo spctl --enable --label "ApprovedApps" 
sudo spctl --disable --label "DeniedApps" 

これの利点は、いずれかのリストに別のアプリを追加するには、適切なラベルを追加する必要があるだけです。

sudo spctl --add --label "ApprovedApps" /Applications/Another.app

さらに、Mac App Storeのコードの実行を禁止できます(spctlmanページにあります- man spctl)。

spctl --disable --label "Mac App Store"

これにより、誰もがApp Storeからアプリをダウンロードしてインストール/実行することができなくなります。

管理者への対応/sudoers

コメントに記載されているように、管理者が実行できることはすべて、別の管理者は元に戻すことができます。を使用spctlするにはrootが必要ですが、sudoersファイルを編集して特定のコマンドへのアクセスを制限するには、他のユーザー/管理者が変更を元に戻せないようにする必要があります。

sudoユーザーが特定のコマンドを実行できないようにする方法を参照してくださいsudoersファイルに「例外付きのホワイトリスト」を構成する方法の詳細については、

たとえば、ユーザーSamにを除く すべてのコマンドへのアクセスを許可spctlするには、sudoersファイルに次のように入力します。

sam ALL = ALL, !/usr/sbin/spctl

さて、これはへのアクセスを防ぐための「迅速かつ汚い」方法spctlですが、他の管理者があなたの戦略に賢明である場合、彼/彼女がしなければならないすべてはコマンドの名前を変更し、アクセス権があるので、最終的には効果的ではありません。

sudoersmanページから:

一般に、ユーザーがsudo ALLを持っている場合、「!」に関係なく、ユーザーにルートシェルを与える独自のプログラムを作成する(またはシェルの独自のコピーを作成する)ことを妨げるものはありません。ユーザー仕様の要素。

本当にロックダウンするには、他のユーザーを強制的にsu別のユーザー(つまり、オペレーター)にするか、デフォルトで許可されたコマンドのホワイトリストを作成して、他のすべてをブロックする必要があります。ただし、重要な機能から人々を締め出すことができるため、これは時間がかかり非常に危険です。


いいね!それがまさに私が探していたものです。よくやった。どうもありがとうございます!
テント作り

本当に素晴らしい答えアラン-これは、ファイルアクセスを防止したり、sigkillシグナルの送信を停止したりするのに適しているとは思いません-そうでしょうか?apple.stackexchange.com/questions/332124/…–
bmike

@bmike-このコメントを見たところです。優しい言葉のためのTHX。sigkillについては、技術的には自分のプロセスを強制終了できるため、それを防ぐことはできないと思います。
アラン

2
これはすべてすばらしいように聞こえますが、私にとってはうまくいっていません(10.14.3)。変更は適用されますが、「拒否」したアプリは引き続き起動できます。ゲートキーパーが有効になっています。
BSUK

私も(10.14.1)動作しません。
学生、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.