Linux Server

Samba 3.0 + ADS

  

ご注意下さい

この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。

0
(0)

最強にはまりました。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

⑤ ActiveDirectoryへの参加

# /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として登録

⑥ 諸問題
・sambaサーバが見つからない。
iptablesでパケットを落としているかもしれないので、service iptables stopでまずは止めて試してみる。

・sambaサーバは見えるもののログインできない。
ものの解説ページによると、これにてパスワードを聞かれずにSambaにアクセスできるとあったけど、どうもうまくいかない。

「そのアカウントは、このワークステーションからのログインを許可されていません」みたいなポップアップが出たり、ユーザ名/パスワードを入力するポップアップが出てきて、正しいアカウント名/パスワードを入力しても認証されない。とか。

ここのMLによると、

[Samba] Failed to verify incoming ticket

This 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サーバの設定の仕方に問題があるに違いない…。

この記事は役に立ちましたか? | Is this article useful for you?

評価をお願いします | Please leave your rating.

平均 | Av.: 0 / 5. 投票数 | Votes: 0

最初の評価を下さい | Please vote for the first rating.

-Linux Server
-

© 1999 - 2021 蒲田ネット