*Samba4 で AD 構築 [#y03fb70a]
***AD を構築する。 [#ff2cf86b]
-Active Directory(AD) を構築するためには Windows Server が必要。だった。
-Samba4 から、Windows Server の Active Directory 互換の AD が構築できるようになった。
-そのため、AD 環境を無料で構築できるようになった。
-タダより高いものはないという言葉があるが、まさしくその通りになった。
-3か月くらい悩みに悩んだけど、解決するときはすぐだった。
***構築例。 [#tdc20162]
-OS:Ubuntu 14.10
-以下のパッケージをインストール実施。
# apt-get install samba krb5-config krb5-user smbclient
-詳細は以下の URL を参照した。
-AD構築編
http://www.server-world.info/query?os=Ubuntu_14.04&p=samba&f=4
-ドメイン参加編
http://www.server-world.info/query?os=Ubuntu_14.04&p=samba&f=5
-この通りやっても Windows 側でドメイン参加できなかったけど、/etc/hosts の 127.0.1.1 に realm を記載することで解決した。
root@ubADSrv01:~# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 ubADSrv01 ubADSrv01.sknet.dip.jp sknet.dip.jp ubADSrv.sknet.dip.jp ★ 追加
192.168.1.241 ubADSrv01.sknet.dip.jp sknet.dip.jp ubADSrv.sknet.dip.jp ★ 追加
192.168.11.241 ubADSrv01.sknet.dip.jp sknet.dip.jp ubADSrv.sknet.dip.jp ★ 追加
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
root@ubADSrv01:~#
-以下は作業ログ
-apt-get install krb5-config で設定した結果がここに記載される。
root@ubADSrv01:~# cat /etc/krb5.conf
~一部抜粋~
[libdefaults]
default_realm = SKNET.DIP.JP ★ realm 名
[realms]
SKNET.DIP.JP = { ★ realm 名
kdc = ubADSrv01.sknet.dip.jp ★ 自ホスト名
admin_server = ubADSrv01.sknet.dip.jp ★ 自ホスト名
}
-AD を構築するコマンド
root@ubADSrv01:~# samba-tool domain provision
root@ubADSrv01:~# samba-tool domain provision --use-rfc2307 --interactive
Realm [SKNET.DIP.JP]: ★ realm 名、krb5.conf から引っ張って来られる。
Domain [SKNET]: ★ 短縮ドメイン名
Server Role (dc, member, standalone) [dc]:
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: ★ samba4 の内部 DNS を使用する
DNS forwarder IP address (write 'none' to disable forwarding) [192.168.1.1]: ★ 内部 DNS で名前解決できなかったこの IP 宛に転送する。通常ルータの IP アドレス。
Administrator password:
Retype password:
Looking up IPv4 addresses
More than one IPv4 address found. Using 192.168.1.241
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=sknet,DC=dip,DC=jp
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying 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=sknet,DC=dip,DC=jp
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/samba/private/krb5.conf
Once the above files are installed, your Samba4 server will be ready to use
Server Role: active directory domain controller
Hostname: ubADSrv01
NetBIOS Domain: SKNET
DNS Domain: sknet.dip.jp
DOMAIN SID: S-1-5-21-1945327443-3170641988-159135371
root@ubADSrv01:~#
・ドメイン情報の確認
root@ubADSrv01:~# samba-tool domain info 192.168.1.241
Forest : sknet.dip.jp
Domain : sknet.dip.jp
Netbios domain : SKNET
DC name : ubadsrv01.sknet.dip.jp
DC netbios name : UBADSRV01
Server site : Default-First-Site-Name
Client site : Default-First-Site-Name
root@ubADSrv01:~#
-ドメインとフォレストのレベルを上げる。
・既存のレベルを確認
root@ubADSrv01:~# samba-tool domain level show
Domain and forest function level for domain 'DC=sknet,DC=dip,DC=jp'
Forest function level: (Windows) 2003
Domain function level: (Windows) 2003
Lowest function level of a DC: (Windows) 2008 R2
root@ubADSrv01:~#
・Windows Server 2008 R2 にレベルアップ!
root@ubADSrv01:~# samba-tool domain level raise --domain-level 2008_R2 --forest-level 2008_R2
Domain function level changed!
Forest function level changed!
All changes applied successfully!
・確認
root@ubADSrv01:~# samba-tool domain level show
Domain and forest function level for domain 'DC=sknet,DC=dip,DC=jp'
Forest function level: (Windows) 2008 R2
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2
root@ubADSrv01:~#
-ユーザ作成
・確認
root@ubADSrv01:~# samba-tool user list
Administrator
krbtgt
Guest
root@ubADSrv01:~#
・ユーザ作成
root@ubADSrv01:~# samba-tool user create byorf
New Password:
Retype Password:
User 'byorf' created successfully
root@ubADSrv01:~#
・確認
root@ubADSrv01:~# samba-tool user list
Administrator
krbtgt
Guest
byorf
root@ubADSrv01:~#
-ログイン確認
・ログイン
root@ubADSrv01:~# kinit administrator@SKNET.DIP.JP
Password for administrator@SKNET.DIP.JP:
Warning: Your password will expire in 41 days on 2015年03月29日 22時36分25秒
・確認
root@ubADSrv01:~# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@SKNET.DIP.JP
Valid starting Expires Service principal
2015-02-15T23:09:46 2015-02-16T09:09:46 krbtgt/SKNET.DIP.JP@SKNET.DIP.JP
renew until 2015-02-16T23:09:41
root@ubADSrv01:~#
-パスワード有効期限削除
・新規に作成したユーザでログイン
root@ubADSrv01:~# kinit byorf@SKNET.DIP.JP
Password for byorf@SKNET.DIP.JP:
Warning: Your password will expire in 41 days on 2015年03月29日 23時06分07秒 ★ パスワードの有効期限あり。
・パスワードの有効期限を削除する
root@ubADSrv01:~# samba-tool user setexpiry byorf --noexpir
Expiry for user 'byorf' disabled.
root@ubADSrv01:~#
・再度ログイン
root@ubADSrv01:~# kinit byorf@SKNET.DIP.JP
Password for byorf@SKNET.DIP.JP:
root@ubADSrv01:~#
★ パスワードの期限が表示されない。
// IP:"126.100.241.109" TIME:"2015-02-18(<abbr class="week_day" title="水曜日">水</abbr>)00:44:15" REFERER:"http://sekiken.dip.jp/cgi-bin/wiki/?cmd=edit&page=samba4%E3%81%A7AD" USER_AGENT:"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36