Info kplace.plala.jpから移設しました
■目的
Microsoft Active Directory互換Samba4をテストしてみました。
参照したSamba4/Domain Member HOWTOの要約メモです。
■Samba4
Samba4ではMicrosoft Active Directory互換サーバー機能をサポートしました。
Samba4/Domain Member HOWTOのページはこちら
■Samba4/Domain Member HOWTO
Samba4/Memberサーバーインストールで参照したHOWTOのメモです。
[概要]
このHOWTOではActive
Directoryに参加のSamba4.xメンバーサーバーの基本的なセットアップ方法について提示します。
SambaあるいはWindowsのドメインコントローラ(DC)かどうかには関係しません。
[必要なパッケージ]
Sambaのコンパイルのためには以下のパッケージがインストールされる必要があります(RHEL6の基本インストールにて)
autoconf
automake
gcc
gdb
krb5-devel
krb5-workstation
make
openldap-devel
pam-devel
python-devel
[コンパイルとインストール]
ソースのダウンロード/解凍のあと以下を実行します。
# ./configure --with-ads --with-shared-modules=idmap_ad
--{必要なら環境に合わせて別のオプションを追加}
# make
# make install
このコマンドは展開されたソースのルートディレクトリで実行します。
新しいwafビルドシステムで問題があれば従来システムで'source3'ディレクトリからのコマンド実行を試すことができます。
このケースでは早い解決のためにSambaメーリングリストで問題を開発者に知らせてください。
wafビルドシステムに関する追加の情報はBUILD_SYSTEMS.txtとBuildsystem Use And
Whyのページを参照ください。
[Kerberosの設定]
以下の/etc/krb5.confのサンプルを参照して実際の環境に合わせて編集ください。
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = YOUR.SAMBA.DOMAIN.NAME
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
forwardable = yes
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
[smb.conf基本設定]
以下はもっとも基本的なsmb.confのサンプルです。本ファイルは通常は/usr/local/samba/etc/におかれます。
' またconfigure'のパラメータによりファイルを別の場所に置くこともできます。
[global]
workgroup = SHORTDOMAINNAME
security = ADS
realm = YOUR.SAMBA.DOMAIN.NAME
encrypt passwords = yes
idmap config *:backend = tdb
idmap config *:range = 70001-80000
idmap config SHORTDOMAINNAME:backend = ad
idmap config SHORTDOMAINNAME:schema_mode = rfc2307
idmap config SHORTDOMAINNAME:range = 500-40000
winbind nss info = rfc2307
winbind trusted domains only = no
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
[test]
path = /srv/samba/test
read only = no
この内容はActive Directoryに参加のメンバーサーバとするためのもっとも基本的なサンプルです。
ドメインのユーザ/グループのIDマッピングはrfc2307の指定により行われます。
AD内でADと同じuidナンバー/gidナンバーセットを持つユーザー/グループをメンバーサーバー上で利用可能です。
もしAD内で異なる範囲のUID/GIDを使用するのなら、それに適合するようにする必要があります。
非ドメインアカウントでは、マッピングデータをローカルTDBファイルに格納し、与えられた範囲のIDをとることができます。
さらに詳細なsmb.confのパラメータについてはmanpageを参照ください。
[メンバーサーバーのドメインへの参加]
# net ads join -U administrator
winbindを介してドメインユーザー/グループが利用可能になります。
さらにドメインユーザー/グループをメンバーサーバーで使えるようにするには2つのリンクを/libフォルダーに作成します。
# ln -s /usr/local/samba/lib/libnss_winbind.so /lib
# ln -s /lib/libnss_winbind.so /lib/libnss_winbind.so.2
# ldconfig
64ビットLinuxシステムを実行中なら("uname
-i"コマンドで"x86_64"が表示されます)/libを/lin64に置き換えてください。
これを実行しない場合、'wbinfo'コマンドは問題なしですが'getent'は動作しません。
# ln -s /usr/local/samba/lib/libnss_winbind.so /lib64
# ln -s /lib64/libnss_winbind.so /lib64/libnss_winbind.so.2
# ldconfig
次に/etc/nsswitch.confに以下のエントリーを追加します。
passwd: compat winbind
group: compat winbind
[デーモンの起動]
以上のステップが終了したら次のサービスを起動できます。
smbd
nmbd
winbindd
手動でのサービスの起動を避けるために起動スクリプトを書くか入手の必要があります。
[winbindユーザ/グループマッピングのテスト]
winbindがドメインからユーザー/グループを受け取ったことを確認するには次のコマンドを実行します。
# wbinfo -u
# wbinfo -g
このコマンドはwinbindを介してドメインから供給されたすべてのユーザとグループを表示します。
nsswitch.confが正しくセットアップされていればchown/chgrpが可能でIDを使用できます。
# chown DomainUser:DomainGroup file
# chgrp DomainGroup file
# id DomainUser
[ログファイルのチェック]
メンバーサーバーが正常に動作しているのを確認のためにsambaログファイルをチェックします。
[その他]
NTP
Kerberosはドメイン内ですべてのサーバーは同じ時刻であることを要求します。
時刻を同期のためにNTPの構築を考慮すべきです。
■結果
以上はファイル共有サーバーなどをSamba4 Microsoft Active Directoryのドメインに参加させる方法です。
Samba4ではsmbd/nmbd/winbindの起動スクリプト見つからずファイル共有などはSamba3を利用が容易と思われます。