2013-05-01 15 views
12

Mac OSには、基本的なペアレンタルコントロールオプションが用意されており、ウェブサイトやアプリへのユーザーのアクセスを制限することができます。これをスクリプトして、次のようなことをしたいと考えています。Mac OS Xでペアレンタルコントロールをプログラムで変更する

特定のサイトでは午前8時から午前9時30分までのアクセスを許可し、ゲームへのアクセスを制限します。 午後5時から午後6時まで一般のアクセスを許可します。

Mac OS 10.8でのスクリプト作成の開始場所はわかりません。助言がありますか?これはAutomatorが処理できるものなのですか、cronジョブ/シェルスクリプトを使ったほうがいいですか?

+0

アプリの素晴らしいアイデアのようです。 MacのアプリストアでAppleが許可するかどうかはわからない。 – Jordan

答えて

13

ペアレンタルコントロールは、10.2以降に存在していた通常の管理された設定(MCX)フレームワークを使用して強制されます。問題のユーザーのmcx_attributes属性のローカルディレクトリサービスにそれらを格納します。

GUI以外で設定するには、dsclツールのmcxプラグインを使用して、適切にフォーマットされたplistをユーザーにフィードするだけです。このようなローカルディレクトリサービスポリシーを使用することは、OS X sysadminコミュニティによってよく理解され、文書化されています。

これを理解するのが最も簡単な方法は、ペアレンタルコントロールをセットアップして、/ System/Library/CoreServicesのディレクトリユーティリティアプリまたはdsclコマンドを使用してmcx属性を調べることです。それがcdとlsを持つファイルシステムであれば。

XMLでどのようなキーが設定されているかを確認したら、自分で作成することができます。 dscl . -mcxexportコマンドを使用することもできます。これにより、管理構成がダンプされ、後でインポートすることができます。 mcxプラグインのローダウンについては、dscl . -mcxhelpをご覧ください。スクリプトでこれを実現するためのプロセスを確認するには

は次のとおりです。

  1. が希望ポリシー情報を含むXML plistを作成します。 dscl . mcximport

より楽しみにして代替して適切なアカウントへのplist

  • インポート(。同様だけplistファイルです)構成プロファイルを作成することで、その後profilesコマンドでそれをロードします。設定プロファイルのルートを使用すると、ディレクトリサービスや、dsclコマンドが気になることはありません。

  • +0

    ありがとう、これは私が探していたものです! –

    +0

    私のサーバーにはMCXプラグインがないようです。それがなければ、親のコントロールをコマンドラインで管理する方法があれば、どんな考えですか? – dsjoerg

    +0

    実行中のOSのバージョンは何ですか?まだ10.9にmcxprofilesプラグインが追加されています。マニュアルページにはありません。 dsclを起動して、 'help'と入力するとすべての使用法が表示されます。 – macshome

    4

    ゲストアカウントのログイン時間(時間制限または門限)を設定するには 次の長いメンバーを使用して、毎日の開始と終了の値を編集します。

    dscl . -mcxedit /Users/Guest com.apple.familycontrols.timelimits limits-list '({allowancesActive = 1;curfews = {friday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});monday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});saturday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});sunday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});thursday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});tuesday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});wednesday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});};groupID = "__COMPUTER__";itemType = "com.apple.familycontrols.timelimits.computer";name = Computer;})' 
    

    ゲストアカウントの時間制限のステータスを確認するには、次の

    dscl . -mcxread /Users/Guest com.apple.familycontrols.timelimits limits-list 
    

    か:

    dscl . -mcxread /Users/Guest com.apple.familycontrols.timelimits limits-list | egrep "end|start" | sort | uniq 
    

    は関与FILES: /ライブラリ/ Preferences /ゲスト/ com.apple管理します。 familycontrols.timelimits。plistの は、ローカルのGuestアカウントのための夜間外出禁止令データが含まれてい

    ユーザーレビューのためのすべての管理プリファレンス設定の コンパイルこれは、システムがに使用するデータである

    アカウント

    /ライブラリ/管理設定/ユーザーレビュー/ complete.plist門限を設定してください: /private/var/db/dslocal/nodes/Default/users/Guest.plist

    関連する問題