連載
» 2004年05月25日 00時00分 公開

Samba 3.0の全貌 改訂版(2):Active Directory参加機能とセキュリティ拡張 (2/3)

[たかはしもとのぶ,@IT]

ドメインとユーザー

■Winbindの機能拡張

 Winbindを使用することで、Windowsドメインに存在するユーザーについては、UNIX側でのユーザー作成が不要になります。

 しかし、Samba 2.2系列のWinbindではuidやgidと対応するWindowsドメインのアカウントやグループの対応テーブルがマシンごとに動的に生成される関係上、同じWindowsのアカウントやグループに割り当てられるuidやgidがマシンごとに異なってしまうという問題点がありました。これはNFSなどを用いている場合に致命的な問題となります。

 Samba 3.0系列ではidmap backendというパラメータが新設され、指定したLDAPサーバ上に対応テーブルを保持できるようになりました。これにより、図2のように対応テーブルの一元管理が可能となり、上記の問題が解消しています。

図2 idmap backendパラメータによる対応テーブルの一元管理 図2 idmap backendパラメータによる対応テーブルの一元管理

■任意のグローバルグループのサポート

 Samba 3.0系列でNTドメインを構築した場合に実現される機能に、グローバルグループのサポートがあります。

 Samba 2.2系列では、Domain AdminsとDomain Usersグローバルグループ以外のグローバルグループはサポートされていませんでした。これに対して、Samba 3.0系列では任意のグローバルグループがサポートされています。

 グローバルグループの構成は、net groupmapコマンドで行います。なお、Sambaで作成するグローバルグループは、何らかのSambaマシン上のUNIXグループとマッピングする必要があるため、UNIX側にあらかじめ対応するUNIXグループを作成しておいてください。

# net groupmap modify NTgroup='Domain Admins' UNIXgroup=domadm (1)
# net groupmap add NTgroup='Samba 1' UNIXgroup=samba1 type=d (2)
No rid or sid specified, choosing algorithmic mapping
Successully added group Samba 1 to the mapping db
# net groupmap list (3)
Domain Admins (S-1-5-21-3665834988-2389521404-3181922140-512) -> domadm
Domain Guests (S-1-5-21-3665834988-2389521404-3181922140-514) -> -1 (4)
(省略)
Samba 1 (S-1-5-21-2348584241-585622575-4239557047-1000) -> samba1 (5)
          
グローバルグループの設定(Samba 3.0系列)
(1)   UNIX側domadmグループを既存のDomain Adminsグローバルグループに対応付け。
(2)   Group 1グローバルグループを新規に作成し、UNIX側group1グループに対応付け。
(3)   現在の設定の確認。
(4)   「-1」は、対応グループが設定されていないことを意味する。
(5)   下線部はグループのSID。

 ビルトインのグローバルグループ(Domain Admins/Domain Users/Domain Guests)については、あらかじめ定義されているので新規に作成せず、net groupmap modifyコマンドで適切なUNIXグループを対応付けます。なお、マッピングの削除はnet groupmap deleteコマンド、現在の設定の確認は上記のnet groupmap listコマンドで行えます。

 Windows側からは画面3のように、通常のグローバルグループとまったく同様にローカルグループへの所属やアクセス権の割り当てといった作業を行うことが可能です。

画面3 グローバルグループの動作確認。先ほど追加したSamba 1グローバルグループが確認できる 画面3 グローバルグループの動作確認。先ほど追加したSamba 1グローバルグループが確認できる(画像をクリックすると拡大表示します)

■ドメイン間信頼関係のサポート

 信頼関係とは、Windowsドメイン特有の用語で、ドメインのリソースに対して別のドメインからのアクセスを実現する機能です。複数のWindowsドメインが存在する大規模なWindowsネットワークの管理においては、必要不可欠ともいえる機能でしょう。なお、サポートされているのはNTドメイン相当の「明示的な片方向の信頼関係」のみです。Active Directoryドメインがサポートしている「推移的な双方向の信頼関係」はサポートされていません。

 以下、SAMBA30というSambaで構築したドメインと、W2003AD1というWindows Server 2003がDCのWindowsドメインとの間で双方向の信頼関係を結ぶ場合を例に、設定方法を説明します。

 まず、SAMBA30ドメインを信頼されるドメインとして構成するために、smbpasswdコマンドで信頼するドメイン(ここではW2003AD1)のエントリを追加します。

# useradd -s /bin/false -d /dev/null w2003ad1
# smbpasswd -a -i w2003ad1 ←ドメイン名(例ではw2003ad1)を入力
New SMB password: ←信頼関係用のパスワード
Retype SMB password: ←再度入力
Added user w2003ad1$
信頼されるドメインとしての設定

 次に、net trustdom establishコマンドを用いて、信頼するドメインとしての設定を行います。

# net rpc trustdom establish w2003ad1
Password: ←Windows側で設定する予定の信頼関係締結用パスワード
Could not connect to server MISAKO
Trust to domain W2003AD1 established
信頼するドメインの設定
注:メッセージ(Could not connect...)が気になりますが、信頼関係の締結はできています。

 Windows側からは通常の操作と同様に、「Active Directoryドメインと信頼関係」で信頼関係の設定を行ってください。設定が完了すると、画面4のように表示されるはずです。

画面4 信頼関係の設定 画面4 信頼関係の設定
注:現在、信頼関係の検証は失敗してしまいますが、信頼関係自体は結ばれています。

 設定が完了したら、ドメインに参加しているクライアントマシンからログオンして、フォルダのアクセス権を設定してみましょう。アクセス権付与の画面で、相手側のドメインのユーザー名やグループ名が参照できれば基本的に動作しているはずです。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。