samba4.x は samba-tools domain provision コマンド実行が必須

samba4.x で Active Directory 環境に参加させようといろいろやってみた結論がタイトル。

環境

  • Ubuntu 14.04.4
  • samba : Version 4.3.9-Ubuntu

私の場合はマルチドメイン環境でしたが、以下のような感じでできました。

  • Active Directory Domain : oya.example.jp, ko.example.jp
  • samba を実行するサーバを参加させたい Domain : ko.example.jp
  • oya.example.jp の PDC : pdc01.oya.example.jp
  • ko.example.jp の PDC : pdc02.ko.example.jp

とします。

# samba のインストール
sudo apt-get update
sudo apt-get install samba
sudo apt-get install winbind

# winbind の設定
sudo vi /etc/nsswitch.conf
--- 修正箇所 ここから ---
group: compat winbind
passwd: compat winbind
-- ここまで ---

# kerberos5 環境の準備
sudo apt-get install krb5-user
sudo vi /etc/krb5.conf
--- /etc/krb5.conf の追記内容 ここから ---
[libdefaults]
default_realm = KO.EXAMPLE.JP
[reamls]
OYA.EXAMPLE.JP = {
kdc = pdc01.oya.example.jp
admin_server = pdc01.oya.example.jp
}
KO.EXAMPLE.JP {
kdc = pdc01.ko.example.jp
admin_server = pdc01.ko.example.jp
}
[domain_realm]
.oya.example.jp = OYA.EXAMPLE.JP
oya.example.jp = OYA.EXAMPLE.JP
.ko.example.jp = KO.EXAMPLE.JP
ko.example.jp = KO.EXAMPLE.JP
--- ここまで ---

sudo kinit administrator@OYA.EXAMPLE.JP
sudo klist
# で OYA.EXAMPLE.JP に参加できることを確認
sudo kinit administrator@KO.EXAMPLE.JP
sudo klist
# で KO.EXAMPLE.JP に参加できることを確認

# ドメインに参加
cd /etc/samba
sudo samba-tool domain provision
# いろいろ聞かれるがデフォルトのパラメータで問題ないはず。
# ここで聞かれるパスワードは実行している PC の administrator ( samba のユーザー ) のパスワードらしい。

あとは従来通りに /etc/samba/smb.conf を修正して共有フォルダを作成した後、

sudo service smbd start
sudo service nmbd start
sudo service winbind start

とやれば利用できるはず。

はまったこと

samba-tool は samba-tool domain provision 等で初期化されていないと失敗するコマンドがあるようです。一応動かない場合向けに samba の source code 内には install_with_python.sh というのがあり、python 2-6-5 環境で samba-tool を動作させるものがあるようですが、Ubuntu の apt で入れられる python 2.7.6 ( 2016/06/01 時点 ) でも問題なく動作しました。また、install_with_python.sh は色々試しましたが最終的にはインストールに失敗しました。

過去のログを漁ると、samba-tool domain provision を実行しないとこんな風なログが出たりします。

  • MYSERVER : samba を実行しているサーバの名前
  • DOMAIN : Active Directory のショートドメイン名
  • DOMAIN FLL NAME : Active Directory の FQDN


--- log.wb-<DOMAIN> より ---
Kinit for <MYSERVER>$<DOMAIN> to access cifs/<DOMAIN FILL NAME>@<DOMAIN> failed: Preauthentication failed
--- log.winbindd-dc-connect より ---
Kinit failed: Cannot contact any KDC for requested realm

samba3.x の smb.conf を作成してから sudo net ads join してもエラーは出ませんが、作成した共有フォルダにアクセスできなかったり、wbinfo -g や wbinfo -u は表示されても id -a “<DOMAIN>\<USER>” で id 名の解決に失敗したりします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

plese input * Time limit is exhausted. Please reload CAPTCHA.