LinuxサーバをActive Directoryに。

我が家のML115の上には現在3台のVirtual Machineが動いている。
VPNを接続するためのWindows XP Professionalと、Windowsファイル共有をするためのWindows Server 2008、それと、WebやらMailなんかが動いてるLinuxサーバ。

で、Linuxのサーバはアカウントを管理するためにOpenLDAPを導入してたんだけど、正直に言ってOpenLDAPはGUIがオープンソースで用意されているものの貧弱でいまいちだった。

Windowsファイル共有を利用するためのユーザアカウントと、Linuxを利用するためのユーザアカウントで、同じものを利用したいって言うのもあって、とりあえずはWindows側と、Linux側で同じアカウントを作ってたんだけど、これって無駄だよねってことでちょっと考えることに。

その結果、Windowsファイル共有を利用するためのユーザをActive Directoryに統合し、OpenLDAPを廃止、Linuxのアカウント管理をActive Directoryに任せてしまおうという結論に達した。

こうすることで、FTPのユーザを作成する際にも、わざわざLinux側での作業をすることなくActive Directory上にユーザを作成すれば自動的にLinuxにもログインできるようになった。

また、この際、ADをインストールする際に必要なDNSサーバもWindows側に持たせてしまうことで、BINDも不要となった。

ってことで、手順を。
下記の手順でかいてある、vmfs.cecily.jpっていうのが、Windows Server 2008のFQDN、cecily.jpってのが対象のドメインになっている。

まずは、Windows Server 2008での作業。
・・・とはいっても、ここで一から手順を記述するまでもなくADの構築はできていると思うのでここでは割愛。
Sambaのバージョンが3.0とかの場合はWindows Server 2008のADとは統合できないから注意。

ちなみに、RHEL5や、CentOS5のリポジトリに登録されているSambaのクライアントは3.0なので、Windows Server 2008のADを利用したい場合は、Sernetあたりからダウンロードしてくると良い。
その場合は、下記のように必要なパッケージを一気にアップデート or インストールしないと必要なパッケージがどうのこうのってエラーメッセージが表示される。

# rpm -Uvh samba3-winbind-3.2.3-37.x86_64.rpm samba3-client-3.2.3-37.x86_64.rpm libsmbclient0-3.2.3-37.x86_64.rpm libwbclient0-3.2.3-37.x86_64.rpm

その後、Sambaのコンフィグファイルを編集して、どのドメインに参加するのかなどを設定する。

#vi /etc/samba/smb.conf
[global]
   workgroup = CECILY
   password server = vmfs.cecily.jp
   realm = CECILY.JP
   security = ads
   idmap uid = 10000-50000
   idmap gid = 10000-50000
   winbind separator = +
   template homedir = /home/%U
   template shell = /bin/bash
   winbind use default domain = true
   winbind offline logon = false

次にアカウント情報の取得方法を変更する。

# vi /etc/nsswitch.conf
passwd: files
shadow: files
group: files
↓
passwd: files winbind
shadow: files winbind
group: files winbind

これで、/etc/passwd、/etc/shadow、/etc/groupにない情報はwinbindを利用するようになる。
最後に、Kerberosの設定ファイルを編集し、ADに参加できるようにする。

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = CECILY.JP
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 forwardable = yes

[realms]
 CECILY.JP = {
  kdc = vmfs.cecily.jp
  admin_server = vmfs.cecily.jp
  default_domain = cecily.jp
 }

[domain_realm]
 .cecily.jp = CECILY.JP
 cecily.jp = CECILY.JP

[appdefaults]
 pam = {
   debug = false
   ticket_lifetime = 36000
   renew_lifetime = 36000
   forwardable = true
   krb4_convert = false
 }

大文字になっているところは、わざと大文字にしてあって、小文字では動かないので注意。
そしていよいよADへの参加。

# net ads join -U administrator
administrator's password : ドメインのadministratorユーザのパスワードを入力
Using short domain name -- CECILY
Joined 'SMTP' to realm 'CECILY.JP' 

ちなみに、今回の環境では、LinuxのDNSサーバの設定をWindows Server 2008にしておかなければだめだった。

関連記事

  1. NO IMAGE
  2. NO IMAGE
  3. NO IMAGE
  4. NO IMAGE
  5. NO IMAGE
  6. NO IMAGE

コメントをお待ちしております

CALENDAR

2024年12月
1234567
891011121314
15161718192021
22232425262728
293031  

ARCHIVES

CATEGORIES