今の作り方

4系のsource3

4系のsource3から作ると、smb.confのDefault位置が

・3系source3
--with-configdir=DIR    Where to put configuration files ($libdir)
つまり{$PREFIX}/lib
・4系source3
--with-configdir=DIR    Where to put configuration files ($sysconfdir)
つまり{$PREFIX}/etc

と、変更されているので注意。
3系からのアップグレードの場合

/etc/sysconf/sambaに
-s /usr/local/samba/lib/smb.conf

などと追記するなどの対応が必要。

3系(ファイル共有)

3.5.4からCentOS5(RHEL5)で今まで通り作れるように修正された。

以前の作り方はSamba/前の作り方を参照。

avahiとかなんとか気にしないのであれば
たいていのオプションはデフォルトのママでよくなっている。気がする。
ただautoだったりするので、明示したい人はした方が無難。

ここではSamba4統合ビルドは行わない。
またActiveDirectory云々も行わない。

cd source3
./configure --with-aio-support

4系(ActiveDirectory云々)

gitはアレなのでパックされたものを使う。
4系といえばActiveDirectory DomainControler。
公式http://wiki.samba.org/index.php/Samba4/HOWTOを参照しつつ

yumで入れる(た)もの。

yum install libacl-devel libblkid-devel gnutls-devel readline-devel python-devel gdb pkgconfig \
gtkhtml setroubleshoot-server setroubleshoot-plugins policycoreutils-python libsemange-python \
setools-libs-python setools-libs popt-devel libpcap-devel sqlite-devel libidn-devel \
libxml2-devel libacl-devel libsepol-devel libattr-devel \
keyutils-lib-devel zlib-devel cyrus-sasl-devel \
bind-libs bind  bind-utils \
krb5-server krb5-server-ldap krb5-pkinit-openssl krb5-workstation \
libldb-devel ldb-devel libxslt libtalloc-devel libtdb-devel \
pam-devel libaio-devel avahi-devel cups-devel \
openldap openldap-devel openldap-servers pam_ldap

./configure.develop
アルファ版だからdevelopでやった方がいいよとのこと。
特に追加するオプションはない。

make && make install

インストールしたらProvisioningを行う。
DC(AD)に必要な準備を行い、smb.conf、krb5.conf、named.confについて必要項目を自動生成する。

cd /usr/local/samba
sbin/provision --realm=REALM.EXAMPLE.JP \
               --domain=DOMAIN \
               --host-name=hoge \
               --adminpass='abcde!9' \
               --server-role='dc'

他のオプション類はヘルプ参照。
realm      :kerberosのレルム。
domain     :ドメイン。
host-name  :ホスト名。/etc/hosts、/etc/sysconfig/networkなどと同じにすること。小文字。
adminpass  :administratorのパスワード。初期ポリシーは7文字以上、英数字+記号必須。
server-role:ロール。今回はADなので、dc(domain controller)を指定。

実行後、こういうのが表示されればよいのか。
Server Role:           domain controller
Hostname:              hoge
NetBIOS Domain:        DOMAIN
DNS Domain:            realm.example.jp
DOMAIN SID:            S-n-n-nn-nnnnnnnnn-nnnnnnnnnn-nnnnnnnnnn
Admin password:        abcde!9

Samba自体の動作確認。

/usr/local/samba/sbin/samba -i -M single
シングル、インタラクティブモードで起動する。
エラーや警告が出ても取り敢えず起動はするはず。

別窓で
/usr/local/samba/bin/smbclient -L localhost -U%
       Sharename       Type       Comment
       ---------       ----       -------
       netlogon        Disk
       sysvol          Disk
       IPC$            IPC        IPC Service
REWRITE: list servers not implemented

/usr/local/samba/bin/smbclient \\\\localhost\\netlogon -Uadministrator
Password for [DOMAIN\administrator]:
smb: \> ls
  .                                   D        0  WWW MMM dd hh:mm:ss yyyy
  ..                                  D        0  WWW MMM dd hh:mm:ss yyyy

                nnnnnnnn blocks of size 512. nnnnnnnn blocks available
smb: \>

で、確認。
確認後はデーモンとして起動する。

/usr/local/samba/sbin/samba


DNSの設定。
Provisioningの時のメッセージに従う。

yumデフォルトの/etc/named.confに

/usr/local/samba/private/named.conf

をinclude。

/usr/local/samba/private/named.txt
を読みながら

tkey-gssapi-credential "DNS/hoge.realm.example.jp";
tkey-domain "realm.example.jp";

は、記述だけして一旦コメントアウト、

KEYTAB_FILE="/usr/local/samba/private/dns.keytab"
export KEYTAB_FILE

は、/etc/sysconfig/namedに記述。
BINDの起動スクリプトでKEYTAB_FILEがKRB5_KTNAMEに写されるので
上記だけでよい。

この時点でBINDを起動してみる。たぶん起動するはず。
起動後に

host -t SRV _ldap._tcp.realm.example.jp.
_ldap._tcp.realm.example.jp has SRV record 0 100 389 hoge.realm.example.jp.

host -t SRV _kerberos._udp.realm.example.jp.
_kerberos._udp.realm.example.jp has SRV record 0 100 88 hoge.realm.example.jp.

host -t A hoge.realm.example.jp.
hoge.realm.example.jp has address xxx.xxx.xxx.xxx

で、確認。/etc/hostsは正しく記述すること。

Kerberosの確認。
Sambaのもつkdcが必要なのでSambaは起動すること。

/etc/krb5.confを
/usr/local/samba/private/krb5.conf
と入れ替える。
kinitなどはkrb5-workstationにあるのでyumっとく。

kinit administrator@REALM.EXAMPLE.JP
Password for administrator@REALM.EXAMPLE.JP:
Warning: Your password will expire in 41 days on WWW MMM dd hh:mm:ss yyyy
で、チケット確認。

klist -e
Ticket cache: FILE:/tmp/krbxxxxxx
Default principal: administrator@REALM.EXAMPLE.JP

Valid starting     Expires            Service principal
mm/dd/yy hh:mm:ss  mm/dd/yy hh:mm:ss  krbtgt/REALM.EXAMPLE.JP@REALM.EXAMPLE.JP
        renew until mm/dd/yy hh:mm:ss, Etype (skey, tkt): arcfour-hmac, arcfour-hmac
で、チケットとプリンシパル確認。

KerberosとDNSが動くことを確認できたらkerberos DNS dynamic updatesの確認。

上でコメントしておいた、/etc/named.confの
tkey-gssapi-credential "DNS/hoge.realm.example.jp";
tkey-domain "realm.example.jp";
をアンコメント。

ファイルの所有権にnamed追加。
chown named.named /usr/local/samba/private/dns.keytab

で、bindを再起動。たぶん起動するはず。

/usr/local/samba/sbin/samba_dnsupdate --verbose
で、動作確認。つらつらとDNS updateシーケンスが走ればよしか?


BINDの設定を適宜変更。

listen-on port 53 { xxx.xxx.xxx.xxx; };
とか

allow-query { 127.0.0.1; 192.168.0.0/24; };
とか

forwarders { xxx.xxx.xxx.xxx; };
など。

Sambaもアクセス制限、ログ、ファイル共有、プリンタ共有など必要であれば適宜設定する。 なお、ポートが

0.0.0.0:88   # Kerberos
0.0.0.0:636  # LDAPS
0.0.0.0:445  # Microsoft-DS
0.0.0.0:1024 # ?
0.0.0.0:3268 # Microsoft Global Catalog
0.0.0.0:3269 # Microsoft Global Catalog over SSL
0.0.0.0:389  # LDAP
0.0.0.0:135  # MS Endpoint Mapper
0.0.0.0:137  # NetBIOS Name Service
0.0.0.0:138  # NetBIOS Datagram Service
0.0.0.0:139  # NetBIOS Session Service
0.0.0.0:464  # Kerberos Change/Set password

と開くのでiptablesなども必要に応じてTCP/UDPともに適宜変更する。


トップ   編集 凍結解除 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-04-26 (金) 19:12:47