なあばすぶれいくだうん

主に現実逃避の雑記

samba 4でActive Directory鯖を構築する(失敗)

[日記][Linux]samba 4でActive Directory鯖を構築する

きっかけ

会社で現実逃避をしていた時に、こんなのCAL(クライアントアクセスライセンス)0円で構築するActive Directory (注 PDFです)
を見つけて、なんか胸に情熱の火がついた。
一晩経ってもその欲求が消えなかったんでやってみることにした。

努力目標

脳内では構成のイメージがすぐに浮かんだが、一応整理すると、

  • 新規のADを建てる。
  • RASTツールでグループポリシーの編集ができる
  • アカウント管理の他には、IEの信頼済みサイトの設定や、Chrome拡張機能の強制追加ぐらいはしたい。

とりあえずはこんなところか。

情報収集

調べてみると、みんなSamba 4をソースコンパイルしているが、
解析用のオプションを付けいてる程度で、コンパイルオプションを付けていないのが殆どだ。
逆にAD構築に必要なオプションがdisableになっていると困るので、ソースコンパイルを前提にする。
インストールパスぐらいは変えるかも知れんが、いつもの方法*1でパッケージを作っておくか。



と、思ったが、どうせだったら標準パッケージで出来ないものかやってみたくなったので、そっちの方向でやってみることにする。

ディストリビューションの選定

個人的にはDebianでやりたいのだが(RaspberryPi (Debian) にSAMBA4(v4.1.3)をインストールする(ActiveDirectoryのDCを構築する): 一日一事未満
)、いかんせんDebian系では仕事に使おうとすると、Linuxを知っている人達でも「えーCentじゃないのー?」と敬遠される事があるので*2、しょうがなくCentOSで建ててみることにする。

ベースOSの構築

我が家にはVMware Esxi鯖があるので、CentOSのISOイメージを落としてきて、サクッと構築する。*3
ホスト名とIPアドレスは適当に考える。

ホスト名とIPアドレスが決まったら、DNSサーバーに正逆のレコードを追加して、そのホストからの更新を許可しておく。*4

これで構築前の準備は整った。

案の定、CentOs6.5のSambaはバージョン3だったので、一旦スナップショットを撮ってから、sambaパッケージを抜きにかかる。

minimal desktopの場合、標準*5で入っているのは

# rpm -qa | grep samba
samba-winbind-3.6.9-168.el6_5.x86_64
samba4-libs-4.0.0-61.el6_5.rc4.x86_64
samba-common-3.6.9-168.el6_5.x86_64
samba-client-3.6.9-168.el6_5.x86_64
samba-winbind-clients-3.6.9-168.el6_5.x86_64

libsはいいとして、3系をスパッと消すことにする。
どうせスナップショットもあることだし。

# yum erase samba-winbind samba-common samba-client samba-winbind-clients

んで、yum searchして出てきたsamba4パッケージを全部入れる。

ところが、

samba4でADの構築を説明しているサイトで必須のsamba-toolがどこにもないやん。

おまけに、yumでlibbsd.so.0のエラーが出まくる。

なんとなく、minimal desktopで入れたんで、GUIツールに引きずられて、必要なバージョンが矛盾しているような気がする。

minimalでOSを再インストールすることにする。

*1:大したことはやっていないのだが、気が向いたらいつか書こうかな

*2:安定性と、運用中にOSやパッケージを更新することをを考えると、Debina系の方が作業的にも精神的にも、圧倒的に楽だと思うんだがなぁ

*3:ここはminimal desktopを選んだ以外は特別なことをしていないので省略

*4:外部のBINDが既にあるので

*5:実はインストール直後に、yumで更新をかけているが