web-dev-qa-db-ja.com

Macのペアレンタルコントロールアプリケーションのホワイトリストのスクリプト作成-誰もが成功していますか?

私たちのアカウントのほとんどはワークグループマネージャーによって管理されていますが、私が勤務する幼稚園から高校までの教育機関での期末の政府試験に使用するローカルアカウントを設定することがよくあります。

学生が試験中にのみワードプロセッサを使用でき、インターネットにアクセスできないように、コンピュータをロックダウンするとよいでしょう。ローカルユーザーのテストアカウントを作成し、ペアレンタルコントロールでいくつかの設定を微調整しました。次に、それらをエクスポートすることができました。

dscl . -mcxexport /Users/testuser -o parental_controls.plist

そして、それらを再インポートして効果を高めます。

dscl . -mcximport /Users/testuser parental_controls.plist

これを実行しているときにファイルシステムを見ると、ホワイトリストに登録したアプリケーションがペアレンタルコントロールによってバックグラウンドで署名されていることに気付きました。これは、設定に記憶されていました。私のエクスポートされたplistは次のように並んでいます(読みやすくするために再フォーマットされています):

<key>appID</key>
  <data>+t4MAAAAACgAAAABAAAACAAAABQOiCi6O1EFrBaCbNrFU4pEjwH8zg==</data>
<key>bundleID</key>
  <string>com.Microsoft.Word</string>
<key>displayName</key>
  <string>Word</string>
<key>path</key>
  <string>/Applications/Microsoft Office 2008/Microsoft Word.app</string>

コード署名の素晴らしいガイド を見つけました。残念ながら、アプリケーションに署名するには独自の証明書が必要になると書かれています。 [そして、これはすでに私が思っていたよりも多くの作業になっているので、手動で60台のコンピューターにアクセスして実行し、キーチェーンをスクリプト化して新しいコード署名証明書を作成し、特定のアプリに署名して有効にすることができます。ペアレンタルコントロールは狂気のある場所のようです。]

キーを削除した場合にどうなるかをテストしましたが、管理対象ユーザーはアプリケーションを起動できません。

どちらかへの賢明な方法はありますか

  • このプロセスのスクリプトを作成します
    • おそらく私は既存の証明書を使用できますか?
    • おそらくAppleには、それらに署名するために呼び出すことができるペアレンタルコントロールCLIユーティリティがありますか?
  • ラボ全体のワークグループマネージャーからローカルアカウントを管理しますか?
  • または、他の方法で多くのコンピューターに対して同じ手順を実行しますか?
1

それがあなたが探しているものかどうかはわかりませんが、コンピューターグループレベルでワークグループマネージャーを使用してアプリケーションの使用を制限することができます。

明らかに、OpenDirectoryを備えたOSXサーバーが必要です。ワークグループマネージャーでコンピューターグループを定義し、試験に使用するMacを追加し、このグループの設定ダイアログでアプリケーションを制限することができます。問題のアプリケーションのまったく同じバージョンがすべてのコンピューターに必要になると思います。

しかし、私はこれを実際にテストしたことはなく、数年前にTigerServerを展開する前にいじっていたときに概念実証を行ったことを認めなければなりません。

2
Sven

ワークグループマネージャーでアプリケーションのホワイトリスト/ブラックリストを設定すると、アプリケーションの署名付きキーだけでなく、パスでスコープを設定できるようになることをお伝えしたいと思います。ローカルユーザーまたはグループでこれを実行してから、値をインポート/エクスポートすることも可能です。

0