2:samba4のインストール
Date 2013-11-25 15:19:17 | Topic: samba4 アクティブディレクトリーに挑戦
| 先ずは必要になるlibldbをインストールする # yum install libldb これで、libldbとlibtdbがアップデートされ、libbsdがインストールされた。この時CentOS-Base.repoをenabled=0にしておかないと、ここでlibldbがアップデートされない。(ここまで2014-1-20追記) wingレポジトリーには4.1.1がアップされているので、これをインストールする。蛇足だが CentOS-Base.repo には4.0.0-53(最後の数字は不確か)がアップされているようなので、repoの設定変更をしておかないとこれがインストールされてしまう。 また4.1は名前が samba41 になっている。 2014-1-25追記:今日別のマシンにインストールしようとしたら
Error: Package: libtalloc-2.0.8-2.el6_1.wing.i686 (wing)
Requires: librt.so.1
Error: Package: libtalloc-2.0.8-2.el6_1.wing.i686 (wing)
Requires: libc.so.6(GLIBC_2.1.3)
Error: Package: libbsd-0.6.0-1.el6.i686 (epel)
Requires: libc.so.6(GLIBC_2.8)
Error: Package: libtalloc-2.0.8-2.el6_1.wing.i686 (wing)
Requires: libattr.so.1
Error: Package: libtevent-0.9.18-1.el6_1.wing.i686 (wing)
Requires: libc.so.6(GLIBC_2.4)
Error: Package: libtevent-0.9.18-1.el6_1.wing.i686 (wing)
Requires: libdl.so.2
Error: Package: libtalloc-2.0.8-2.el6_1.wing.i686 (wing)
Requires: libdl.so.2
Error: Package: libtevent-0.9.18-1.el6_1.wing.i686 (wing)
Requires: libattr.so.1
Error: Package: libtevent-0.9.18-1.el6_1.wing.i686 (wing)
Requires: librt.so.1
Error: Package: libtalloc-2.0.8-2.el6_1.wing.i686 (wing)
Requires: libcrypt.so.1
Error: Package: libtevent-0.9.18-1.el6_1.wing.i686 (wing)
Requires: libcrypt.so.1
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
と大量にエラーが出た。ここには長くなるので載せていないが、このエラーの前のdependancyチェックのところで、samba-dcのために python-teventをインストールしようとしている。私のホストには入っていないのでインストールする必要があった。 なので、/etc/yum.repos.d/CentOS-Base.repoのenabled=0の先頭に#をつけコメントアウトし、 # yum install python-tevent でインストールをして置く。(その後enabled=0のコメントを外しておく。またsambaは4.1.4-2になっていた)(ここまで2014-1-25追記) # yum install samba41 samba41-client ldb-tools krb5-workstation インストールされたプログラムは # rpm -qa | grep samba4 samba41-common-4.1.1-2.el6_8.wing.x86_64 samba41-python-4.1.1-2.el6_8.wing.x86_64 samba41-4.1.1-2.el6_8.wing.x86_64 samba41-libs-4.1.1-2.el6_8.wing.x86_64 samba41-dc-libs-4.1.1-2.el6_8.wing.x86_64 samba41-dc-4.1.1-2.el6_8.wing.x86_64 samba41-client-4.1.1-2.el6_8.wing.x86_64 インストールが終わったので、設定しますがその前に、 NTPサーバーで時刻管理をしておく。以前Xenで仮想化をした時にはSubホストは自動的にDom0の時間が適用されたが、KVMだとresumeがあるとタイマーが止まるみたいなので、必ず時刻同期を行う事(ここを参照) DNSが動いていないようにする(私は別のホストでdnsmasqが走っており、それを止めました。)。LDAPが動いているば止める。 それと無効にしたbase repoを有効に戻しておく。 ネットワークカードの設定の確認。前に書いたように私の環境はNetworkManagerを走らせ、DNSの設定はネットワークカードでするので、/etc/sysconfig/network-scripts/ifcfg-eth0の確認
DNS1=192.168.xx.xxx ← このホストのIP
DNS2=192.168.xx.1 ← default gatewayのIP
DOMAIN=kinryokai.net
もし設定を変更したら # /etc/rc.d/init.d/network restart
いよいよコマンドでドメインを構築。 # samba-tool domain provision Realm: KINRYOKAI.NET[Enter] Domain [KINRYOKAI]: [Enter] Server Role (dc, member, standalone) [dc]: [Enter] DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: [Enter] DNS forwarder IP address (write 'none' to disable forwarding) [192.168.xx.xxx]: default gateway のIP[Enter] Administrator password: password入力[Enter] Retype password: password入力[Enter] Looking up IPv4 addresses More than one IPv4 address found. Using 192.168.xx.xxx Looking up IPv6 addresses No IPv6 address will be assigned Setting up secrets.ldb Setting up the registry Setting up the privileges database Setting up idmap db Setting up SAM db Setting up sam.ldb partitions and settings Setting up sam.ldb rootDSE Pre-loading the Samba 4 and AD schema Adding DomainDN: DC=kinryokai,DC=net Adding configuration container Setting up sam.ldb schema Setting up sam.ldb configuration data Setting up display specifiers Adding users container Modifying users container Adding computers container Modifying computers container Setting up sam.ldb data Setting up well known security principals Setting up sam.ldb users and groups Setting up self join Adding DNS accounts Creating CN=MicrosoftDNS,CN=System,DC=kinryokai,DC=net Creating DomainDnsZones and ForestDnsZones partitions Populating DomainDnsZones and ForestDnsZones partitions Setting up sam.ldb rootDSE marking as synchronized Fixing provision GUIDs A Kerberos configuration suitable for Samba 4 has been generated \ at /var/lib/samba4/private/krb5.conf Once the above files are installed, your Samba4 server will be ready to use Server Role: active directory domain controller Hostname: SAMBA NetBIOS Domain: KINRYOKAI DNS Domain: kinryokai.net DOMAIN SID: S-1-5-21-8640439422-3946603968-2847524696 sambaを起動する # service samba start 前に設定した分はserviceで起動できなかったが、今は出来るようにようになった見たい。(以前はソースからだったかな?) # chkconfig samba on で再起動後もスタートさせる logについて logは /var/log/samba/log.sambaにある。ここに samba: setproctitle not initialized, please either call setproctitle_init() or link against libbsd-ctor. とあるが解決方法が分からない。取り敢えずドメインログオンも出来ているので、ゆっくり探そう。 /var/log/messages にもスタートとストップ関連だけは記録があった。 smbdが走っている smbdはバージョン3以前のsambaのコマンド何で走っているかは不明。ps aux で確認すると samba が10個くらいと smbd が2つ走っていた。取り敢えず問題なさそうなので、後日チェックする 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 = KINRYOKAI.NET ← 変更
dns_lookup_realm = false
dns_lookup_kdc = true ← trueに変更
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
[realms]
KINRYOKAI.NET = { ← このホストの名前に変更
kdc = xxx.kinryokai.net ← このホストの名前に変更
admin_server = xxx.kinryokai.net ← このホストの名前に変更
}
[domain_realm]
.kinryokai.net = KINRYOKAI.NET ← このホストの名前に変更
kinryokai.net = KINRYOKAI.NET ← このホストの名前に変更
Kerberosの設定が正しいか確認 # kinit administrator@KINRYOKAI.NET 注:必ず大文字にする事
Password for administrator@KINRYOKAI.NET:
Warning: Your password will expire in 41 days on Mon Jan 6 12:05:53 2014
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@KINRYOKAI.NET
Valid starting Expires Service principal
11/25/13 17:12:23 11/26/13 03:12:23 krbtgt/KINRYOKAI.NET@KINRYOKAI.NET
renew until 12/02/13 17:12:15
DNSの登録状況がどうなっているか確認 # samba-tool dns query 192.168.xx.xxxx kinryokai.net @ A -U administrator IPはsambaが走っているホストのIP
Password for [KINRYOKAI\administrator]:
Name=, Records=1, Children=0
A: 192.168.xx.xxx (flags=600000f0, serial=1, ttl=900)
Name=_msdcs, Records=0, Children=0
Name=_sites, Records=0, Children=1
Name=_tcp, Records=0, Children=4
Name=_udp, Records=0, Children=2
Name=DomainDnsZones, Records=0, Children=2
Name=ForestDnsZones, Records=0, Children=2
Name=smb5, Records=1, Children=0
A: 192.168.xx.xxx (flags=f0, serial=1, ttl=900)
Name=WIN7-DESK, Records=1, Children=0
A: 192.168.xx.xxx(flags=f0, serial=110, ttl=1200)
下の2行はこのドメインにログインしているwindowホスト 正常のようなので次はwindowホストのドメインへの参加 ファイルサーバーの動作確認をするには # smbclient -L localhost -U% 2014-04-12追記:今日別のホストでやったら Connection to localhost failed (Error NT_STATUS_IO_TIMEOUT) とエラーが出た。localhostをsambaの動いているIPに変えたらOKだった。
Domain=[KINRYOKAI] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
netlogon Disk
sysvol Disk
ITC Disk IPC$ IPC IPC Service (Samba 4.1.1)
Domain=[KINRYOKAI] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
と、表示された。 2014-01-26追記:今日別のホストにインストールし、sambaのテストをしている時、このリプライが
session setup failed: NT_STATUS_ACCESS_DENIED
となった。いろいろ調べたがどうしても直らない、firewallを見直している時、ハット気が付きselinuxの設定を調べると # getenforce Enforcing となり、selinuxが有効になっていたので、 # setenforce 0 で無効にし、再起動後も無効にするため、/etc/sysconfig/selinuxのSELINUX=enforcingの右辺をdisabledにしておく。再度 # smbclient -L localhost -U% で無事正常に表示された。 この設定を確認している時、wing repo に新しい4.1.2がアップされた様で、アップデートの確認が出ていたので、4.1.2にバージョンアップした。
|
|