OS X Server の制御、第 4 章: ディレクトリ サービス

OS X Server の制御、第 4 章: ディレクトリ サービス

この記事は、Charles Edge 著の近刊書「Take Control of OS X Server」のプレリリース版の章です。2014 年後半に一般公開が予定されています。第 1 章「OS X Server の紹介」と第 2 章「サーバハードウェアの選択」を除き、これらの章は TidBITS 会員のみご利用いただけます。詳しくは TidBITS でストリーミング配信されている「Take Control of OS X Server」をご覧ください。


ディレクトリサービスは、ユーザー名、パスワード、ネットワークリソース、その他の情報を共有するリポジトリです。Macのネットワーククライアント(ここで言う「クライアント」とは、コンピュータのことです)は、ディレクトリサービスを使用してさまざまな情報を検索します。

この本の典型的な読者にとって、ディレクトリ サービスとは、ファイル共有、カレンダー、連絡先などのサービスのユーザー アカウントを作成して保存する場所です。

ディレクトリサービスは多くの大規模ネットワークの中核を成しています。しかし、ディレクトリサービスは実際にはサーバー上に存在するデータベースであり、AppleがOpen Directoryと総称する基盤技術がいくつか組み込まれています。ディレクトリサービスによっては、複数のサーバーに役割が分散されているものもありますが、本書では、この章が単独で1冊の本になってしまうのを避けるため、必要なディレクトリサーバーは1台(多くても2台)と仮定します。

この章では、Open Directoryのマスターを設定し、必要に応じてレプリカを作成します。その後、「ユーザの操作」でディレクトリサービスにユーザーを追加できます。ユーザー管理の一部は、ユーザーをグループで管理すると簡単になるので、「グループの操作」について説明します。

この章の最後は、クライアントをバインドする方法に関するトピックです。この手順は、この本の一般的な読者が実行する必要はありませんが、完全性を保つために含めました。

オープンディレクトリマスターを設定する

サーバーが1台しかない場合は、それがOpen Directoryのマスターになります。サーバーが2台ある場合は、1台がOpen Directoryのマスター、もう1台がレプリカになります。(さらにサーバーが複数ある場合は、残りのサーバーはディレクトリサービスのクライアントとなり、マスターに入力されたユーザー名とパスワードを使用できます。)

Open Directoryマスターを設定する前に、DNSとホスト名が正しく設定されていることを確認してください。これを行うには、「IPとホスト名の一致を確認する」で説明したように、IP、DNS、ホスト名がすべて一致していることを確認するオプションを指定changeipしてコマンドを実行します。-checkhostname

問題がなければ(そして問題がなければ!)、The names match. There is nothing to change.Open Directory サービスの設定に進むことができます。問題がなければ、「ホスト名の設定」に戻り、DNS が正しく設定されていることを確認してください。

オープンディレクトリアシスタントを実行する

Open Directoryマスターを設定するには、Serverアプリのサイドバーにある「詳細」セクションの「Open Directory」をクリックします(必要に応じて、「詳細」にマウスオーバーして「表示」をクリックします)。次に、図1に示すように、Open Directoryパネルの右上にある「オン」ボタンをクリックします。

Figure 1: Turn on the Open Directory Service.

図 1: Open Directory サービスをオンにします。

この例では、完全に新しいOpen Directory環境を構築します。「ネットワークユーザーとグループの設定」画面(図2)で、「新しいOpen Directoryドメインを作成する」を選択し、「次へ」ボタンをクリックします。

Figure 2: Select “Create a new Open Directory domain” to start from scratch.

図 2:最初から始めるには、「新しい Open Directory ドメインを作成する」を選択します。

ディレクトリ管理者画面(図3)では、「名前」と「アカウント名」の欄のデフォルトの文字列を変更する必要はありませんが、より一般的な名前を使用することをお勧めします。アカウント名は、ディレクトリ管理者アカウントのユーザー名です。名前欄への入力とパスワードの2回入力(1Passwordやキーチェーンアクセスなどの安全な場所に記録されていることを確認してください)が完了したら、「次へ」をクリックします。

Figure 3: Enter your desired username and password for the Directory Administrator account.

図 3:ディレクトリ管理者アカウントの希望のユーザー名とパスワードを入力します。

次に、Secure Sockets Layer(SSL)情報を設定します。SSL証明書の作成が必要です。SSL証明書は、クライアントコンピューターとサーバー間の通信を暗号化し、セキュリティを確保するために使用されます。幸いなことに、これは難しくありません。Serverアプリがいくつかの質問に答えるだけで、適切な証明書が自動的に作成・インストールされます。

「組織情報」画面で、「組織名」フィールドに組織名を入力し、「管理者メールアドレス」フィールドにSSL証明書で使用する有効なメールアドレスを入力します(図4を参照)。これらの名前はユーザーが証明書を表示する際に表示されるため、証明書を受け入れるユーザーが混乱しないよう、わかりやすい名前にしてください。「次へ」をクリックします。

Figure 4: Create the Open Directory certificate.

図 4: Open Directory 証明書を作成します。

[設定の確認] 画面で、これらの設定が適切であることを確認し (変更する場合は [戻る] をクリック)、[セットアップ] ボタンをクリックしてslapconfig(バックグラウンドで Open Directory セットアップを実行するコマンド) を実行します。

Open Directory マスターが設定されると、再起動などの操作は必要なく、Open Directory サービスのインジケーター ステータス ライトが図 5のように表示されます。

Figure 5: The Open Directory setup is complete. Notice the new server, highlighted in the Servers list.

図5: Open Directoryのセットアップが完了しました。サーバーリストで新しいサーバーがハイライト表示されているのがわかります。

パスワードポリシーを構成する

Open Directoryマスターのセットアップが完了すると、サーバーがサーバーリストに表示されます。サーバーを選択し、「設定」メニューから「グローバルパスワードポリシーの編集」を選択します。ここで、システムでパスワードを使用するために満たすべきパラメータを設定できます。

要件に対応する各ボックスをオンにして、[OK] をクリックします (図 6 )。

Figure 6: Set up your Open Directory global password policy.

図 6: Open Directory のグローバル パスワード ポリシーを設定します。

ポリシーによっては、アカウントを無効化したり、定期的にパスワードの変更を強制したり、パスワードに特定の条件を満たささせたりすることがあります。エンドユーザーにとってのセキュリティと不便さのバランスを適切に取れるよう、グローバルパスワードポリシーをじっくり検討してみてください。安全な環境は重要ですが、パスワードポリシーを過度に複雑にすると、エンドユーザーはモニターに貼られた付箋にパスワードをすべて記録し始め、安全性がさらに損なわれます。

オープンディレクトリレプリカを設定する

前回、SSL を有効にした Open Directory マスターをセットアップしました。本書を読み進めていくと、数多くのサービスが Open Directory マスターの可用性に依存していることがわかります。しかし、もし Open Directory マスターが利用できない場合はどうなるでしょうか?サーバーが 1 台しかない場合は、おそらく問題にはなりません。Open Directory が利用できない場合、サーバー全体がオフラインになり、より大きな問題が発生する可能性があります。

しかし、Open Directoryマスターを実行しているコンピュータ以外のネットワークサービスが存在する大規模なネットワークで作業している場合、Open Directoryマスターをオンラインに戻すまでの間、ユーザーが手をこまねいている状況は避けたいものです。そこで、Open Directoryレプリカを使用します。Open Directoryレプリカは、マスターがオフラインになった場合でも、ユーザーがOpen Directoryデータベースのコピーを利用できるように保持します。

したがって、サーバーが 1 台しかない場合はこのセクションをスキップしてください。サーバーが 2 台ある場合は、Open Directory レプリカにするセカンダリ サーバーでサーバー アプリを起動し、Open Directory サービスを選択して [オン] ボタンをクリックして構成プロセスを開始します。

プロンプトが表示されたら、「既存の Open Directory ドメインにレプリカとして参加する」を選択し、「次へ」ボタンをクリックします。

次に、Open Directoryマスターのホスト名、ディレクトリ管理者のユーザー名(「diradminOpen Directoryアシスタントの実行」でOpen Directoryマスターを設定したときに「アカウント名」フィールドに入力したユーザー名またはカスタムユーザー名)、およびディレクトリ管理者のパスワードを入力します。「次へ」ボタンをクリックして、サービスを設定します。

[設定の確認] 画面で、これらの設定が正しいことを確認し (変更する場合は [戻る] をクリック)、[セットアップ] ボタンをクリックします。

設定に問題がなければ、Server アプリはレプリカのセットアップを完了します。レプリカとマスターの両方のコンピューターで、Server アプリを開き、レプリカサーバーがマスターの下に表示されていることを確認してください。

ユーザーと協力する

ディレクトリサーバーの設定が完了したら、ローカルネットワークユーザーを作成し、その後グループを作成します。カレンダー、プロファイルマネージャ、その他一部のサービスでは、ローカルネットワークユーザーが必要です。

Mavericks で OS X Server を実行している場合、ユーザーを作成できる場所は 4 つあります。Server アプリ、ワークグループマネージャ(別途ダウンロード可能)、環境設定の「ユーザーとグループ」パネル、そしてコマンドラインです。ここでは Server アプリでのユーザー作成に焦点を当てます。他の方法で作成されたユーザーは、デフォルトではネットワークサービスにアクセスできないためです。これは、他のツールではほとんどのサービスに必要なアクセス制御が作成されないためです。

Serverアプリでローカルネットワークユーザーを追加および管理するには、サイドバーの「アカウント」の下にある「ユーザー」をクリックします。図7に示すように、参照しているディレクトリドメインに基づいてユーザーのリストが表示されます。ポップアップメニューから「ローカルネットワークユーザー」を選択します。(このポップアップメニューでは、ローカルユーザーのみ、または両方を表示することもできます。)まだユーザーを作成していない場合(先に進んでいませんよね?)、リストは空白になりますが、これは後で修正します。

Figure 7: In this screenshot of the Directory Domain browser, you can see our Local Network Users list.

図 7:ディレクトリ ドメイン ブラウザのこのスクリーンショットでは、ローカル ネットワーク ユーザーのリストを確認できます。

ユーザーを追加する

サーバーがOpen Directoryマスターである場合(上記のOpen Directoryマスターの設定手順を実行した場合、マスターサーバーになります)、作成するアカウントはすべてローカルネットワークユーザーとなり、Open Directoryに保存されます。今すぐすべてのユーザーを設定する必要はありません。後で戻ってユーザーを追加しても問題ありません。

新しいローカルネットワークユーザーを作成するには、プラスボタンをクリックします。サーバーは新しいユーザーに関する情報を求めます(図8)。

Figure 8: Enter the user’s account details.

図 8:ユーザーのアカウントの詳細を入力します。

以下の点に留意してアカウント情報を入力してください。

  • フルネーム:通常、これはユーザーの姓名です。後で簡単に変更できます。
  • アカウント名:この名前は専門的にはショートネームと呼ばれますが、後から変更することはほぼ不可能なので、ここで正しく入力する必要があります。これは、スペースや特殊文字を含まないフルネームの短縮形です。サーバー上のMacアカウントにはそれぞれ固有のショートネームが必要です。私はショートネームを誤って入力した場合、後で変更するのではなく、アカウントを削除して再作成します。これにより、そのアカウントのすべてのユーザーデータが消去されるため、この操作を行う前に、カレンダー、連絡先、その他のユーザーが所有している可能性のあるデータを必ずバックアップしてください。
  • メールアドレス:アカウントのクォータ超過時やカレンダーの招待を受け取った際に通知が届くメールアドレスです。メールサービスを使用する場合は、このアドレスはサーバー上でホストされるメールにも使用されます。
  • パスワード:ユーザーはこのパスワードを使用して、サーバー上のサービスにアクセスします。
  • 確認:最初に正しいパスワードを入力したことを確認するために、同じパスワードをもう一度入力します。
  • ユーザーにこのサーバーの管理を許可する:ユーザーにサーバーの管理者権限を付与するには、このチェックボックスをオンにします。(このリストのすぐ後の「サーバー アプリの使用場所」を参照してください。)
  • ホーム フォルダー:ローカル ホーム フォルダーが絶対に必要な場合を除き、[なし - サービスのみ] を選択します (これはお勧めしません)。
  • ディスク使用量の制限:この設定は、ホームフォルダのポップアップメニューから「ローカルのみ」を選択した場合にのみ表示されますが、これはお勧めしません。これは、アカウントが使用できるディスク容量を定義する場所です。ホームフォルダで「なし - サービスのみ」を選択した場合、この設定は表示されません。
  • キーワード:このオプション フィールドでは、部屋番号、建物、部門など、大規模ネットワーク上のユーザーを識別するのに役立つキーワードを入力できます。
  • メモ:同様に、このオプション フィールドでは、将来役立つ可能性のあるユーザーに関するメモを記録できます。

アカウントの詳細をご希望どおりに設定したら、「作成」ボタンをクリックします。アカウントに関連付けられたフルネームが、利用可能なアカウントのリストに表示されます。

ユーザーの管理

少なくとも 1 つのローカル ネットワーク ユーザー アカウントを作成すると、次のようにして [ユーザー] ペインからそのアカウントを管理できます。

  • アカウント情報を編集します。リスト内のアカウントをダブルクリックします。ユーザーのフルネームとメール アドレス、キーワード、メモは変更できますが、短縮名は変更できません。
  • パスワードをリセットする:リスト内のアカウントを選択し、歯車のポップアップ メニューから [パスワードのリセット] を選択します。
  • ユーザーにサービスへのアクセスを許可します。アカウントを選択し、歯車のポップアップメニューから「サービスへのアクセスを編集」を選択します(図9)。ユーザーにアクセスを許可しないサービスについては、選択を解除してください。サービスが実行されていない場合は、アクセスを削除する必要はありません。

Figure 9: Choose which services the selected account should be able to access.

図 9:選択したアカウントがアクセスできるサービスを選択します。

  • ユーザーをグループに追加します。このオプションについては、次の「グループの操作」で詳しく説明します。
  • アカウントを削除せずに無効化する:アカウントをダブルクリックし、「ログイン」チェックボックスをオフにします。これにより、アカウントはサーバーにログインできなくなりますが、アカウントはそのまま残るので、必要に応じて後で再度有効化できます。例えば、臨時従業員が退職する場合、その従業員が再雇用された場合に備えてアカウントを休眠状態のままにしておくことができます。
  • アカウントを完全に削除する:アカウントを選択し、マイナスボタンをクリックします。

ギアポップアップメニューには、メールオプションの編集など、アカウント関連のコマンドがさらにあります。これについては、第8章「メールサービス」で説明します。

グループで作業する

複数のユーザーのサービスアクセスを一度に編集することもできますが、ユーザーをグループに追加して適切なアクセス権限を付与することで、サービスへのアクセスをより簡単に制御できます。例えば、「Travelers」グループのメンバーにはVPNサービスへのアクセスを許可し、「Temps」グループのメンバーにはVPN経由でネットワークへのアクセスを許可しないといったことが可能です。

ユーザーと同様に、ローカル グループとローカル ネットワーク グループの両方を持つことができますが、注意事項もほぼ同じです (ローカル グループは Mac 自体にのみ関連し、ローカル ネットワーク グループはローカル ネットワーク ユーザーのサービス アクセスを制御するために作成するものです。この章の前半の「ユーザーの種類」を参照してください)。

グループを追加する

新しいグループを作成するには、Server アプリのサイドバーの [アカウント] セクションで [グループ] をクリックします。

[グループ] ペイン (図 10 ) で、ポップアップ メニューから [ローカル ネットワーク グループ] を選択し、プラスボタンをクリックします。

Figure 10: To add a local network group, open the Groups pane, choose Local Network Group, and then click the plus button.

図 10:ローカル ネットワーク グループを追加するには、[グループ] ペインを開き、[ローカル ネットワーク グループ] を選択して、プラス ボタンをクリックします。

「新しいグループ」画面で、「フルネーム」欄にグループ名を入力します。スペースを含めることができます。次に、「グループ名」欄に短い名前(スペースは不可)を入力します(図11)。「作成」をクリックしてグループを作成します。

Figure 11: When you create a group, the title at the top of the pane becomes the Full Name of the group.

図 11:グループを作成すると、ペインの上部にあるタイトルがグループのフルネームになります。

新しいグループがグループリストに表示されます。グループが作成されても、ここで終わりにしないでください。次に、グループ管理の最初の手順に進んでください。

グループの管理

グループの管理は「グループ」パネルで行います。まだグループパネルが表示されていない場合は、Server アプリの左側のサイドバーで「グループ」を選択してください。グループを管理するには、「グループ」リストからグループを選択し、アカウントリストの下にある歯車のポップアップメニューをクリックします。ポップアップメニューから、グループの編集、ネットワークサービスへのアクセス権限の編集、グループからのテンプレートの作成(複数のグループを作成する場合)、テンプレートの編集を行うことができます。

特に、新しいグループを追加した直後に設定するとよい以下の重要なオプションに注意してください。

  1. グループ名をダブルクリックするか、グループ名を選択して、歯車のポップアップメニューから [グループの編集] を選択します (図 12 )。

    Figure 12: When you edit a group, you can specify more details than you can on the group creation screen.

    図 12:グループを編集するときに、グループ作成画面よりも詳細な情報を指定できます。

    グループ編集ダイアログで、メンバー、キーワード、メモを追加します。

  2. 変更が完了したら、「OK」をクリックして変更を保存します。
  3. グループを選択し、歯車のポップアップメニューをクリックして「サービスへのアクセス」を選択します。これで、グループ内のすべてのアカウントに対して、様々なサービスへのアクセスを有効または無効にすることができます。どのサービスを有効または無効にするか迷っている場合は、いつでも戻って設定できます。「OK」をクリックしてください。

グループに対して次のオプションを構成することもできますが、これらのオプションについては後の章で説明するため、ここではまだ何も変更しないでください。

  • このグループに共有フォルダを付与する:このチェックボックスをオンにすると、グループ用の共有ディレクトリ、またはグループメンバー全員にアクセスを許可するACL(アクセス制御リスト)付きのグループが作成されます。詳しくは第6章「ファイル共有」をご覧ください。
  • グループメンバーをメッセージ仲間にする:このチェックボックスをオンにすると、グループメンバーがメッセージクライアント内の他のメンバーの仲間リストに追加されます。この機能については、第7章「メッセージサービスの設定」で説明します。
  • グループメーリングリストを有効にする:このチェックボックスをオンにすると、グループの短縮名に基づいたアドレスに、メンバー全員がメールメッセージを受信できるメーリングリストが作成されます。グループメーリングリストの使い方については、第8章「メールサービス」で簡単に説明します。ただし、この機能はお勧めしません。代わりに、MailChimpなどのサードパーティサービスを検討することをお勧めします。
  • グループWikiを作成:ボタンをクリックすると、グループのWikiを作成するためのインターフェースが開きます。Wikiサービスをまだ有効にしていない場合、このオプションは無効になっています。有効にするには、第10章の「Wikiサービスの設定」を参照してください。

バインドクライアント

「クライアントをバインド」すると、コンピュータとOpen Directoryマスター間の接続が確立されます。これを行う理由はいくつかあり、特にデメリットはありませんが、以下の機能(主に大規模ネットワークで役立つ機能)を必要としない場合は、バインドは不要です。

  • ネットワークベースのログイン:「ホームフォルダの選択」で説明したように、ローカルネットワークのユーザーアカウントの認証情報を使用してクライアントMacにログインすることは可能です。新規にホームフォルダを作成するか、サーバー上のホームフォルダを使用するかを選択できます。ただし、ネットワークベースのログインは推奨していないため、クライアントMacをバインドする必要はありません。
  • シングルサインオン:数百人のユーザーを抱える大規模ネットワークでは、シングルサインオンは非常に重要です。ユーザーはローカルネットワークアカウントの認証情報を使用してログインし、複数のサービス(場合によっては複数のサーバー)に自動的にアクセスできるようになるからです。一方、サーバーが1台、サービスが数件、そしてクライアントMacが既にローカルユーザーで設定されている小規模ネットワークでは、シングルサインオンを導入するメリットはほとんどありません。
  • サーバー間認証:複数のサーバーが存在する大規模ネットワークでは、シングルサインオンを実現するために、サーバーをOpen Directoryにバインドすることが不可欠です。サーバーが1台しかない場合は、このユースケースは適用されません。
  • ポリシー管理:大規模ネットワークのシナリオでは、サーバーからクライアントMacにポリシー情報を設定できることが特に重要であり、そのためにはバインディングが不可欠です。ポリシー管理は2つの目的で重要ですが、どちらも本書の読者にとって役立つとは考えられません。
    • 新しいクライアントの設定:ポリシー管理により、利用可能なプリンタのリストを設定したり、Dockの位置とコンテンツを設定したり、外部ボリュームへの接続機能を削除したり(セキュリティ上の理由から)できます。これは、多数のクライアントMacを一から設定する場合に大きなメリットとなります。
    • 既存のクライアントを更新する:同様に、ネットワークにプリンタを追加する場合、ポリシー管理を使用すると、そのプリンタの接続詳細を複数のクライアント Mac にプッシュできます。これは、すべてを手動で構成するよりも簡単です。

したがって、ファイル共有とその他のいくつかのサービスのために1台のサーバーのみを構築し、ネットワーク上のクライアントMacが比較的少ない場合は、バインドを省略できます。バインドを行うと、環境が必要以上に複雑になるだけでしょう。ただし、クライアントMacをバインドする必要がある場合は、以下の点に注意してください。

クライアントのバインドはいくつかの方法で行うことができます。スクリプト、プロファイル、またはシステム環境設定の「ユーザとグループ」パネルを使用することもできます。また、大規模なネットワークを扱う場合は、イメージ作成プロセスにバインドを組み込むこともできます。この例では、最もわかりやすい「システム環境設定」パネルを使用します。

  1. 各クライアント Mac で、「ユーザとグループ」環境設定パネルを開きます。
  2. [ログイン オプション]をクリックします。
  3. ペインの左下にあるロックをクリックし、プロンプトが表示されたら管理者のユーザー名とパスワードを入力します。
  4. [ネットワーク アカウント サーバー] の横にある [参加] ボタンをクリックします。
  5. 下に表示されるダイアログで、サーバーが Bonjour 経由で自動的に検出された場合はポップアップ サーバー メニューから目的のサーバーを選択します。検出されない場合は、Open Directory マスターの名前 (「ホスト名の設定」で設定したホスト名) を入力します。(図 13 )

    Figure 13: Connect to Open Directory by choosing the server.

    図 13:サーバーを選択して Open Directory に接続します。

  6. 自己署名証明書を使用している場合 (上記の「Open Directory アシスタントの実行」の手順を使用して作成した場合は自己署名証明書です)、プロンプトが表示されたら [信頼] ボタンをクリックします。
  7. サーバーが安全なSSL接続を提供していないという警告が表示された場合は、「続行」をクリックしてください。これは自己署名証明書で発生するもので、心配する必要はありません。ホスト名を入力すると、バインディングダイアログが展開されてより多くのオプションが表示される場合もありますが、この章では図14
    に示すように、デフォルトのままにしておきます。ダイアログが展開されなくても心配する必要はありません。

    Figure 14: In this screenshot, you can see the basic Open Directory binding options.

    図 14:このスクリーンショットでは、基本的な Open Directory バインディング オプションを確認できます。

  8. [OK] をクリックして証明書を受け入れます (ここでも自己署名されていると想定します)。

システムのバインドが完了すると、「ログインオプション」ビューに新しいチェックボックス「ネットワークユーザーがログインウィンドウでログインできるようにする」が表示されます。このチェックボックスをオンにすると、サーバーで設定された資格情報をクライアントのログイン時に入力できるようになります。ログイン画面のユーザーリストに新しい「その他」ボタンが表示されますが、表示されるまで5~10秒かかる場合があります。

Idfte
Contributing writer at Idfte. Passionate about sharing knowledge and keeping readers informed.