製品レビュー
企業ユーザーのためのSFU 3.5活用ガイダンス

第3回 NISサーバとパスワード同期機能(後編)

2.パスワード同期機能

たかはしもとのぶ <monyo@home.monyo.com>
2004/06/23

 パスワード同期機能を構成することで、UNIXマシンとWindowsマシン双方向のパスワード同期が可能となる。ただし、マイクロソフト社によって動作確認されているプラットフォームは次のもののみであるため、注意してほしい。

対応プラットフォーム プラットフォーム名
Solaris 7/8(SPARC版) sol
Red Hat Linux 8 rhl
hp-ux 11i hpx
AIX 5L 5.2 aix
パスワード同期機能のサポート対象プラットフォーム

 筆者はRed Hat Linux 9 Publisher's Editionの環境で、Red Hat Linux 8用として提供されているバイナリの動作を確認したが、自己責任での使用となる。なおマイクロソフト社のプロダクトには珍しく、UNIX側についてはソース・コードが添付されており、改変も許諾されている。そのためバイナリが動作しないプラットフォームについて、自力で対応させることも不可能ではない。もっとも、ソースの修正が必須であるため、一般の管理者が行える作業ではない。またRed Hat Linux 8/9ともにすでにサポートが終了しているほか、最新のSolaris 9はサポート外となっているなど、UNIXプラットフォームのサポートについてはかなり難があるといわざるを得ない。

 以下、実際の設定について解説する。

Windowsマシン側の設定

 Windowsマシン側で最低限行うことは以下のとおりである。まず[Services For UNIX の管理]ツールで[パスワード同期]メニューを選択し、[既定]タブを表示させる。そして同期したい方向を指定する。

 ただし安定稼働するまでは、次の管理画面の下の方にある[詳細なログを有効にする]をチェックしておくことを推奨する。これにより、イベント・ログに詳細なログが出力されるので、動作状態をチェックすることができる。なおポート番号など、一部の設定については再起動しないと設定が反映されないようなので、注意していただきたい。

パスワード同期の設定画面
パスワード同期の方法の設定。パスワードを同期する方向や同期に利用するポート番号などを指定する。
  パスワード同期を行いたい方向の選択。
  暗号化のキー。
  ランダムな暗号化キーを生成する。
  通信に使用するポート番号。筆者が確認した限り、変更を反映するには再起動が必要であった。
  再試行回数と再試行の間隔。通常この設定を変更する必要はないだろう。
  詳細なログをイベント・ログに出力する。

 同期方向の設定が済んだら、次に[詳細設定]タブを選択し、同期先のUNIXマシンのIPアドレスもしくはホスト名を設定する。これでWindowsマシン側の設定は完了である。

パスワード同期の詳細設定画面
パスワード同期の対象となるUNIXマシンを設定する。
  同期を行うUNIXマシンのホスト名。
  現在の同期対象のUNIXマシンの一覧とその設定。
  同期を行うUNIXマシンの削除。
  個別のUNIXマシンごとに設定を行う。

 この画面での[構成]ボタンを押すと、次のような画面が表示される。この画面から、接続先のUNIXマシンごとに、[パスワード同期の設定画面]で設定したデフォルト値とは異なる個別の設定を行うことができる。

UNIXマシン固有のパスワード同期設定
対象となるUNIXマシンごとに固有のパスワード同期設定を行う。
  パスワード同期を行いたい方向の選択。
  暗号化のキー。
  ランダムな暗号化キーを生成する。
  通信に使用するポート番号。

UNIXマシン側のインストールと設定

 UNIXマシン側の設定はやや複雑である。またOSによって多少異なるため、以下では筆者が動作を確認したRed Hat Linux 9 Publisher's Editionの場合を例にとって解説する。

パスワード同期機能のインストール

 まずSFU 3.5のCD-ROMの/unix/bins以下にある「ssod.<プラットフォーム名>」というファイルを/usr/local/bin/ssodという名称でインストールし、実行権を付けておく。ついで「pam_sso.<プラットフォーム名>」というファイルを/lib/security/pam_sso.so.1という名称(など)でインストールする。ディレクトリ名は、OSによって多少異なる可能性があるので、詳細は各プラットフォームのドキュメントを参照のこと。またプラットフォーム名については先の表「パスワード同期機能のサポート対象プラットフォーム」を参照していただきたい。

 続いて設定ファイルであるsso.cfgを/etc/sso.confという名前でコピーする。このファイルは改行コードがUNIX形式である必要がある(改行コードは0x0aのみ)。またWindowsマシンと通信する際のパスワードが平文で格納されるので、必ずroot以外が読み書きできないように「所有者=root」「パーミッション=600」に設定すること。

 続いてPAM関連の設定を行う。Red Hat Linux 9 Publisher's Editionでは、

1. 現在の/etc/pam.d/system-authファイルを/etc/pam.d/ssodとしてコピー。
 
2. 現在の/etc/pam.d/system-authファイルに以下の修正を追加。
 
 
(a)
password required /lib/security/pam_cracklib.so retry=3の行の後に、次の行を追加。
 
password required /lib/security/pam_sso.so.1
 
  (b) 次の行を探して削除。
 
password required /lib/security/pam_deny.so

のように修正を行う。それ以外のプラットフォームについてはドキュメントを参照してほしい。

パスワード同期機能の動作確認

 パスワード同期機能の動作を確認する前に、/etc/sso.confファイルに最低限の設定を行う。このファイルにはいくつかの設定オプションがあるが、動作させるためには、

SYNC_HOSTS=(157.60.253.105,6677,ABCDZ#efgh$12345)

と書いてある行をコメントにする。そしてその下に認証同期元のWindowsマシンのIPアドレスを、

SYNC_HOSTS=(<IPアドレス>,<ポート番号>,<暗号化キー>)

という形式で設定すればよい。

 設定を行ったら、ssodプログラムを直接起動する。単に実行してもよいが、念のため-vオプションを付けて次のように詳細な設定情報を出力させるとよいだろう。なお筆者が確認した限り、ssodを停止させる場合はKILLシグナルを送信する必要がある。

※-vオプション付きでのssodプログラムの起動

#/usr/local/bin/ssod -v
Port:  6677
Use shadow:  1
Case Ignore Name:  1
Use temp:  0
Use NIS:  0
File path:  /etc/shadow
Temp path:  /etc
Pam_supported  0

 ssodを起動すれば、同期対象のUNIXマシンとWindowsマシンの両方に同じ名前のユーザーが存在している場合、一方のパスワード変更が他方にも反映されるはずである。

 なおUNIXマシンの起動時にssodを自動起動させるには、それぞれのOSの流儀に従って、起動スクリプトを自分で作成する必要がある。


 INDEX
  [製品レビュー]企業ユーザーのためのSFU 3.5活用ガイダンス 
  第3回 NISサーバとパスワード同期機能(後編)
    1.NISマップの管理
  2.パスワード同期機能
    3.パスワード同期機能の運用とトラブル・シューティング
 
 製品レビュー


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間