前提条件

ActiveDirectoryとの連携するにあたり、必要なライブラリがあるのでご確認を!
必要となるライブラリは、libldapやlibkrb5になります。これらが適切にリンクされているかを調べてから作業をしましょう.
#ldd /usr/sbin/smbd
linux-gate.so.1 =>  (0xbfffe000)
libldap-2.3.so.0 => /usr/lib/libldap-2.3.so.0 (0xb7ef2000)
liblber-2.3.so.0 => /usr/lib/liblber-2.3.so.0 (0xb7ee5000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb7ece000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb7e63000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb7e40000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xb7e3d000)
・・・・・・・・・・・

ActiveDirectoryドメインのメンバサーバのパラメータ

パラメータ 意味
realm    realm(レルム)は、ドメイン名に相当するパラメータで、ActiveDirectoryドメインのドメイン名を指定します.realmの設定は、すべて大文字で設定する.
workgroup  NTドメイン形式のドメイン名を利用するために、ActiveDirectoryサーバで設定しているNTドメイン名を設定します.
security  ActiveDirectory連携機能を利用する時には、adsを指定する.
password server ドメインコントローラを指定する.

smb.confの設定例

[global]
       realm = XXXXXXX.LOCAL
       netbios name = SAMBA3
       security = ads
       password server = windows2000Server.xxxxxxx.local
       idmap uid = 50000 - 60000
       idmap gid = 50000 - 60000
       winbind enum users = yes
       winbind enum groups = yes
       template homedir = /home/%U
       tenplate shell = /bin/bash
       winbind enable local accounts = yes
       winbind use default domain = yes
       winbind cache time = 300
       obey pam restrictions = yes

kerberosのパラメータ

パラメータ 意味
default_relm ActiveDirectoryサーバのドメイン名を指定します.smb.confのrealmパラメータと同じ値をすべて大文字で設定する.
[realms] Kerberosサーバに関する情報を格納するセクション.
kdc レルム内でチケットの発行を行うサーバを指定する.チケットはKerberosのユーザ認証に利用する.ActiveDirectorynoドメインコントローラのFQDNの形式で指定する.
[domain_realms] DNS名とれるむのマッピングを設定する.

krb5.confの設定例

[libdefaults]
default_realm = XXXXXXX.LOCAL
[realms]
XXXXXXX.LOCAL = {
kdc = windows2000server.xxxxxxx.local
}
[domain_realm]
.xxxxxxx.local = XXXXXXX.LOCAL
xxxxxxx.local = XXXXXXX.LOCAL
他はそのままで。。。。。

時刻同期の確認

Kerberos認証では、チケットの保持期間などで、時刻が重要な要素となる.よってホスト間の時刻の同期は事前にチェックを!
smb.confを設定した後であれば、netコマンドにて、Windowsサーバの時刻にSambaサーバの時刻を同期することが可能.
#net timeにてWindowsサーバの時刻を表示する.
#net time setにてSambaサーバの時刻をWindowsサーバから取得してきた時刻に合わせる.

kinitの実行

Kerberos認証に必要なチケットを取得するために実行する.チケット発行はドメインコントローラで行われるので、引数にWindowsサーバのドメイン管理者を指定する.
<注意>実行前にkrb5.confで設定したホスト名からIPアドレスの解決ができるように、/etc/hosts等に設定しておく
#kinit administrator
Password for administrator@XXXXXXX.LOCAL:**********
New ticket is stored in cache file /tmp/krb5cc_0

#klist
SAMBA3:/etc/samba # klist
Credentials cache: /tmp/krb5cc_0
Default principal: administrator@XXXXXXX.LOCAL, 1 entry found.
[1]  Service Principal:  krbtgt/XXXXXXX.LOCAL@XXXXXXX.LOCAL
    Valid starting:  Mar 02, 2009 10:46
    Expires:         Mar 02, 2009 20:46

ActiveDirectoryドメインへの参加

# net ads join
最終更新:2009年03月02日 11:42