#freeze
**今の作り方 [#cea280cc]
***4系のsource3 [#g2cf5071]
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系(ファイル共有) [#fa59343f]
3.5.4からCentOS5(RHEL5)で今まで通り作れるように修正された。~
&br;
以前の作り方は[[Samba/前の作り方]]を参照。~
&br;
avahiとかなんとか気にしないのであれば~
たいていのオプションはデフォルトのママでよくなっている。気がする。~
ただautoだったりするので、明示したい人はした方が無難。~
~
ここではSamba4統合ビルドは行わない。~
またActiveDirectory云々も行わない。

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

***4系(ActiveDirectory云々) [#baa24c92]
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