前編では、Samba 3.0系列の概要からインストール、文字コード関係の改善点について解説した。後編では、Active DirectoryドメインやNTドメインなど、Windowsドメイン関係の機能およびセキュリティ拡張について説明する。(編集局)
Samba 3.0系列は、Windows 2000以降のOSと同様に、Kerberos認証を使ってActive Directoryドメインに参加することが可能です。興味がある方も多いと思いますので、具体的に参加方法を解説しましょう。
ここでは、misako.w2003ad1.home.monyo.comというFQDNを持つWindows Server 2003のDC(ドメインコントローラ)が存在するW2003AD1.HOME.MONYO.COMというActive Directoryドメインに、MAPLEというコンピュータ名のSamba 3.0.3マシンを参加させる場合を例に説明します。Windows 2000 ServerのActive Directoryドメインに参加させる場合も同様の手順で行えます。
DCのOS | :Windows Server 2003 |
---|---|
FQDN | :misako.w2003ad1.home.monyo.com |
Active Directoryドメイン | :W2003AD1.HOME.MONYO.COM |
Samba 3.0.3マシン | :MAPLE(コンピュータ名) |
例示用の環境 |
なお、Sambaマシン自身がActive DirectoryドメインのDCとして機能することはできません。実装されているのは、クライアントとして参加する部分までとなっています。
■事前準備
SambaをActive Directoryドメインへ参加させる場合は、Sambaが--with-adsオプション付きでコンパイルされている必要があります。パッケージ版の場合、このオプションが無効な状態でコンパイルされていることはないと思いますが、自分でコンパイルした場合は注意してください。
また、Kerberos認証が機能するためにはサーバとクライアント間で時刻が同期している必要があります。あらかじめ時刻を合わせておきましょう。
さらに、Active DirectoryドメインのDCが正しく名前解決できるように、DNSの設定を変更しておいてください。
■設定ファイルの準備
/etc/krb5.confを以下のように設定するか、既存のファイルに追加、修正します。
[realms] |
|||||||||
/etc/krb5.confの設定例
|
また、smb.conf には以下のような記述を行ってください。
[global] |
smb.confの設定例 |
■Active Directoryへの参加
ここまで準備が整ったら、いよいよActive Directoryへの参加です。まずはAdministrator(もしくはそのほかのドメインにコンピュータを追加する権限を持つアカウント)としてActive Directoryにアクセスします。
# kinit administrator@W2003AD1.HOME.MONYO.COM (1) |
||||||
kinitコマンドの実行
|
のように、kinitコマンド(Red Hat系のディストリビューションの場合は/usr/kerberos/bin/kinit)を実行してください。適切なパスワードを入力した場合は、何のメッセージも表示されません。
なお、Active Directoryの仕様(?)のため、Active Directory構築後にAdministratorのパスワードを一度も変更していない場合はkinitが失敗します。同じパスワードで構わないので、一度パスワードを変更しておいてください。パスワードを変更していないと、以下のメッセージが出力されます。
# kinit administrator@W2003AD1.HOME.MONYO.COM |
パスワード変更を行っていないときに出力されるメッセージ |
kinitコマンドに引き続き、net ads joinコマンドを発行して、Active Directoryに参加します。
# net ads join |
net ads joinコマンドの実行例 |
正常に終了した場合は、上記のように「Joined...」というメッセージが出力されます。DC側で確認すると、画面2のようにComputersコンテナにコンピュータアカウントが作成されているのが確認できます。
■UNIXユーザーの追加
Sambaサーバ上で、Windows側からアクセスを行うユーザーに対応するUNIXユーザーを/etc/passwdファイルに追加します(注)。以下の例では、smbdemo1というユーザーを追加しています。
# useradd -m smbdemo1 |
この名前のユーザーがActive Directory側にも存在している必要があるので、必要に応じて追加しておいてください。
注:もちろん、add user scriptパラメータによりユーザーを自動的に作成する設定にしていたり、Winbindを利用してユーザー情報を直接Windows側から取得する設定にした場合、この操作は不要です。
認証はActive Directoryで行われるので、ユーザーにパスワードなどを設定する必要はありません。もちろんsmbpasswdファイルなどへの登録も不要です。
■動作確認
ここまでの作業が完了したら、Active Directoryドメインに所属するWindowsマシンから、先ほどのユーザー(上記の例ではW2003AD1\smbdemo1)でログオンして、そのままSambaサーバ上の共有にアクセスしてみてください。特にパスワードを聞かれることなくアクセスできるはずです。
Copyright © ITmedia, Inc. All Rights Reserved.