前提条件
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