web-dev-qa-db-ja.com

複数のOpenDirectoryマスターで同じMCX設定を管理する

私が働いている学区では、12の学校のそれぞれにOpenDirectoryマスターがいます。複数の仕事やコンピュータグループの複数のディレクトリで管理したい設定があります。

これを行うための頭の痛い方法は、(ワークグループマネージャーを使用して)各ディレクトリを順番に表示し、管理するすべてのグループを選択し、すべての設定を微調整し、サーバーごとに繰り返して、正しく実行することを期待することです。同じ結果が得られます。

もっと良い方法はありますか?

ワークグループマネージャーから設定をコピーして貼り付ける方法があると思いました。設定をエクスポートおよびインポートするために発行できるある種のコマンドがあることを私は知っています。これを行うツールがあるはずだと本当に思えます。 (確かに、単一のマスターと複数のレプリカを使用している場合、ワークグループマネージャーはより適切に機能しますが、すぐに再試行することはありません。)

1

さて、私は自分の質問に答え始めます。

リモートのOpenDirectoryマスターで設定を管理しているノードのリストを取得するには、次のようにします。

dscl -u DIRADMINUSER -p -url Host \
     list /LDAPv3/127.0.0.1/TYPE MCXSettings \
     | cut -d " " -f 1

すべて大文字の単語を正しい値に置き換えてください。ホストは、IP名またはDNS名、あるいはOpenDirectoryマスターです。 -url設定は、値をURLエンコードでエクスポートします。これは、すべてが1行にとどまり、cutコマンドを適用できることを意味します。安全にパスワードを要求されるのではなく、コマンドラインでパスワードを指定する場合は、-p-P 'PASSWORD'に置き換えてください。

TYPEの場合、おそらく次のものを使用します。

  • グループ(ワークグループ/ユーザーのグループ用)
  • ComputerGroups
  • コンピューター
  • ユーザー

Grade5(ITEMNAME = Grade5)というユーザーグループ(TYPE = Group)があるとします。データをリモートでコピーするには、次のコマンドの代わりに使用できます。

dscl -u DIRADMINUSER -p Host \
    mcxexport /LDAPv3/127.0.0.1/TYPE/ITEMNAME \
    -format plist \
    -o EXPORTFILE.plist

現在、Radar 4122565のため、ファイルをリモートで(簡単に)インポートすることはできません。したがって、設定を複製するOpen Directory MasterにEXPORTFILE.plistをコピーし、そのボックスで次のようにインポートします。

dscl -u DIRADMINUSER -p \
    /LDAPv3/127.0.0.1 mcximport /TYPE/NEWITEMNAME \
    EXPORTFILE.plist

複数の「アプリケーションドメイン」(設定ファイルを考えてください)を管理できることに注意してください。どれであるかを確認するには、次を使用します。

dscl -u DIRADMINUSER -p Host \
    mcxread /LDAPv3/127.0.0.1/TYPE/ITEMNAME \
    -format text \
    | grep "App domain" | uniq | cut -d " " -f3-

次に、1つのアプリケーションドメインだけをエクスポートすることも、アプリケーションドメインと特定のキーをエクスポートすることもできます。

dscl -u DIRADMINUSER -p Host \
    mcxexport /LDAPv3/127.0.0.1/TYPE/ITEMNAME \
    -format plist \
    -o EXPORTFILE.plist APP_DOMAIN KEYNAME

APP_DOMAINに「com.Apple.dock」を使用し、ドックのすべての設定が必要な場合はKEYNAMEを省略し、印刷のみが必要な場合は、com.Apple.mcxprintingのAPP_DOMAINをPrintFooterのKEYNAMEで使用する場合があります。印刷用のフッター設定。

設定をエクスポートした後、通常どおりインポートできます。 (私はそれが物事を上書きするかどうかを確認するためにまだテストしていません。)

最後に、mcxexportとmcximportの代わりにmcxreadとmcxsetを使用できることに注意してください。

2

メニューバー->サーバー->エクスポート(またはインポート)を使用して、(目的に基づいて)ワークグループだけをエクスポートおよびインポートできます。私は間違いなくあなたのフォローアップ投稿のシェルスクリプトに敬意を表してお辞儀をしますが、それはあなたが快適に使用できるよりもハイエンドかもしれません。

また、リモートビルディングサーバーをレプリカにする代わりに、OpenDirectoryマスターに単に「接続」することもできます。同じ利点のほとんどが得られます。私は何年もの間、ConnectedサーバーとReplicaサーバーの両方を個人的に実行してきました。私は、頻繁に使用されるT-1接続を介してこれらの両方を実行しました。 (実際、接続設定の代わりにレプリカを使用する理由は2つだけです。1つはリモートの遅延の多いサイトでのパフォーマンスのためです。もう1つは冗長性のためです。マスターがダウンしても、ユーザーは引き続きログインできます。 )

多分それはあなたにあなたの理想的な解決策を与えるだろうか?レプリカにはどのような問題がありましたか?興味があれば、たぶん私がお手伝いできます。

0
Data Scavenger