ご注意下さい
この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。
最強にはまりました。samba 3.0 + ActiveDirectory。まだ完全解決には至っていないけど、とりあえずメモ。
手順は
① samba2.2の削除
② パッチ済みsamba3.0の導入
③ Kerberos5の設定
④ Sambaの設定(/etc/smb.conf)
⑤ ActiveDirectoryへの参加
⑥ 諸問題
という流れになる。
① samba2.2の削除
まずはRH9にデフォルトでインストールされているsambaが2.2なので削除
# rpm -qa | grep samba
redhat-config-samba-1.0.4-1
samba-common-2.2.7a-8.9.0
samba-client-2.2.7a-8.9.0
samba-2.2.7a-8.9.0
#
# rpm -e samba-2.2.7a-8.9.0
エラー: Failed dependencies:
samba is needed by (installed) redhat-config-samba-1.0.4-1
# rpm -e redhat-config-samba-1.0.4-1
# rpm -e samba-2.2.7a-8.9.0
# rpm -e samba-client-2.2.7a-8.9.0
# rpm -e samba-common-2.2.7a-8.9.0
警告: /etc/samba/smb.conf saved as /etc/samba/smb.conf.rpmsave
#
② パッチ済みsamba3.0の導入
samba3.0をゲット。一番簡単な方法としていろいろな問題にパッチが当たっているrpmファイルを取得。
# wget
--12:24:39--
=> `samba-3.0.0-2iconv.i386.rpm'
ftp.samba.gr.jp をDNSに問いあわせています... 完了しました。
ftp.samba.gr.jp[219.106.227.18]:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 20,659,640
100%[====================================>] 20,659,640 3.40M/s ETA 00:00
12:24:45 (3.40 MB/s) - `samba-3.0.0-2iconv.i386.rpm' を保存しました [20659640/20659640]
# wget
--12:25:00--
=> `libiconv-1.8-1.i386.rpm'
ftp.samba.gr.jp をDNSに問いあわせています... 完了しました。
ftp.samba.gr.jp[210.171.55.9]:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 1,486,350
100%[====================================>] 1,486,350 4.21M/s ETA 00:00
12:25:00 (4.21 MB/s) - `libiconv-1.8-1.i386.rpm' を保存しました [1486350/1486350]
#
そして、ダウンロードしてきたRPMをインストール。
# rpm -ivh libiconv-1.8-1.i386.rpm
Preparing... ########################################### [100%]
1:libiconv ########################################### [100%]
# rpm -ivh samba-3.0.0-2iconv.i386.rpm
Preparing... ########################################### [100%]
1:samba ########################################### [100%]
Looking for old /etc/smb.conf...
Looking for old /etc/smbusers...
Looking for old /etc/lmhosts...
Looking for old /etc/MACHINE.SID...
Looking for old /etc/smbpasswd...
Moving tdb files in /var/lock/samba/*.tdb to /var/cache/samba/*.tdb
Installing stack version of /etc/pam.d/samba...
#
Kerberos関連のクライアントモジュール(kinitとか)が入っていなかったのでインストール。
# apt-get install krb5-workstation
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
krb5-workstation
0 packages upgraded, 1 newly installed, 0 removed and 7 not upgraded.
Need to get 687kB of archives.
After unpacking 1229kB of additional disk space will be used.
Get:1 http://ayo.freshrpms.net redhat/9/i386/updates krb5-workstation 1.2.7-14 [687kB]
Fetched 687kB in 18s (38.0kB/s)
Executing RPM (-Uvh)...
警告: /var/cache/apt/archives/krb5-workstation_1.2.7-14_i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:krb5-workstation ########################################### [100%]
#
③ Kerberos5の設定
/etc/krb5.confファイルを編集する。
/etc/krb5.conf
[libdefaults]
ticket_lifetime = 24000
default_realm = KAMATA-NET.COM
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
KAMATA-NET.COM = {
kdc = kamatawin1.kamata-net.com
}
[domain_realm]
.kamata-net.com = KAMATA-NET.COM
kamata-net.com = KAMATA-NET.COM
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
~~
次に/var/keberos/krb5kdc/kdc.confも編集
/var/keberos/krb5kdc/kdc.conf
[realms]
KAMATA-NET.COM = {
master_key_type = des-cbc-crc
supported_enctypes = des3-cbc-sha1:normal des3-cbc-sha1:norealm des3-cbc-sha1:
onlyrealm des-cbc-crc:v4 des-cbc-crc:afs3 ......
}
そしてレルムの作成
# cd /usr/kerberos/sbin/
# ./kdb5_util create -s
Initializing database '/var/kerberos/krb5kdc/principal' for realm 'KAMATA-NET.COM',
master key name 'K/M@KAMATA-NET.COM'
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key:
Re-enter KDC database master key to verify:
④ Sambaの設定(/etc/smb.conf)
ActiveDirectoryへ参加するために最低限必要な設定は太字で記す。
[global]
client use spnego = yes
server signing = yes
client signing = yes
workgroup = KAMATA-NET
realm = KAMATA-NET.COM
server string = Samba Server
unix charset = EUCJP-MS
dos charset = CP932
display charset = CP932
hosts allow = 192.168.aa. 192.168.bb.
printcap name = /etc/printcap
load printers = yes
guest account = nobody
log file = /var/log/samba/log.%m
max log size = 50
security = ads
password server = 192.168.xx.xx
encrypt passwords = yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
interfaces = 192.168.aa.0/24 192.168.bb.0/24
dns proxy = no
[homes]
comment = Home Directories
browseable = no
writable = yes
# /usr/kerberos/bin/kinit administrator@KAMATA-NET.COM
Password for administrator@KAMATA-NET.COM:
#
以下のように表示された場合にはActiveDirectoryのAdministratorのパスワードを一度変更する(同一でも構わない)
# ./kinit administrator@KAMATA-NET.COM
kinit(v5): KDC has no support for encryption type while getting initial credentials
チケットの期限が切れないうちにnet joinコマンドにてActiveDirecotryへjoinする。
# net ads join
Using short domain name -- KAMATA-NET
Joined 'KAMATAFL01' to realm 'KAMATA-NET.COM'
#
AD側にて登録を確認する。うまく登録できたら、以下のように登録ができる。
⑥ 諸問題
・sambaサーバが見つからない。
iptablesでパケットを落としているかもしれないので、service iptables stopでまずは止めて試してみる。
・sambaサーバは見えるもののログインできない。
ものの解説ページによると、これにてパスワードを聞かれずにSambaにアクセスできるとあったけど、どうもうまくいかない。
「そのアカウントは、このワークステーションからのログインを許可されていません」みたいなポップアップが出たり、ユーザ名/パスワードを入力するポップアップが出てきて、正しいアカウント名/パスワードを入力しても認証されない。とか。
ここのMLによると、
[Samba] Failed to verify incoming ticketThis is probably a problem with your kerberos version.
Try mapping with ip address like this:
C:> net use t: 10.10.10.1teste
とのこと。つまりホスト名指定ではなくIPアドレス指定すればよい。と。きっとKerberosサーバの設定の仕方に問題があるに違いない…。