samba4でWindowsとLinux認証統合/samba4インストール
samba4インストール
samba4でActiveDirectoryのドメインコントローラーを立ち上げるまでの手順です。
samba4からはWindows2008R2相当のActiveDirectoryが実装されましたが、どうやらrpm版では対応していないようなのでソースでインストールします。
手順はこのへんにあります。
インストール前に必ずNTPの時刻同期を設定しておいて下さい。
また、samba関連のパッケージがインストールされている場合は予め抜いておきましょう。
インストール
まず必要なパッケージをインストールします。
# yum install perl gcc libacl-devel libblkid-devel gnutls-devel \ readline-devel python-devel gdb pkgconfig krb5-workstation \ zlib-devel setroubleshoot-server libaio-devel \ setroubleshoot-plugins policycoreutils-python \ libsemanage-python setools-libs-python setools-libs \ popt-devel libpcap-devel sqlite-devel libidn-devel \ libxml2-devel libsepol-devel libattr-devel \ keyutils-libs-devel cyrus-sasl-devel cups-devel bind-utils \ libxslt docbook-style-xsl openldap-devel
pamのライブラリを生成するため、pam-develも入れておきます。
# yum install pam-devel
ソースインストールの際のオプションは特に付けなくても困らないようです。
# wget https://www.samba.org/samba/ftp/samba-latest.tar.gz # tar zxf samba-latest.tar.gz # cd samba-x.x.x # ./configure # make # make install
パスを通すために /root/.bash_profile を編集します。
PATH=$PATH:$HOME/bin ↓ PATH=$PATH:$HOME/bin:/usr/local/samba/bin:/usr/local/samba/sbin
変更を適用します。
# . /root/.bash_profile
初期ドメインを作ります。
とりあえず今回は example.co.jp ドメインで、DNSは SAMBA_INTERNAL にします。
# samba-tool domain provision --use-rfc2307 --interactive Realm: example.co.jp Domain [example]: example Server Role (dc, member, standalone) [dc]: dc DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNAL DNS forwarder IP address (write 'none' to disable forwarding) [192.168.0.1]: 192.168.0.1 Administrator password: [ドメイン管理者のパスワードを入力]
起動スクリプトを作ります。
起動スクリプトはこのへんにあるみたいです。
長いのでここには掲載しません。
/etc/rc.d/init.d/samba4 としてファイルを作ったらパーミッションの設定等。
# chmod 755 /etc/rc.d/init.d/samba4 # chkconfig --add samba4
作成したら起動します。
# /etc/init.d/samba4 start
動作確認
デフォルト共有が有効になっているか確認します。
特にエラーが出なければOKです。
# smbclient -L localhost -U% Domain=[EXAMPLE] OS=[Windows 6.1] Server=[Samba 4.2.2] Sharename Type Comment --------- ---- ------- netlogon Disk sysvol Disk IPC$ IPC IPC Service (Samba 4.2.2) Domain=[EXAMPLE] OS=[Windows 6.1] Server=[Samba 4.2.2] Server Comment --------- ------- Workgroup Master --------- -------
ログオンできるか確認します。
コマンド実行後、ドメイン作成時に設定した管理者のパスワードを入力します。
特にエラーが出なければOKです。
# smbclient //localhost/netlogon -UAdministrator -c 'ls' Enter Administrator's password: Domain=[EXAMPLE] OS=[Windows 6.1] Server=[Samba 4.2.2] . D 0 Mon Jun 29 18:22:52 2015 .. D 0 Mon Jun 29 18:23:02 2015 35028568 blocks of size 1024. 31314664 blocks available
DNSの動作確認をするために /etc/resolv.conf を書き換えます。
search example.co.jp nameserver 127.0.0.1
各レコードが引けるか確認します。
値が返ってくればOKです。
# host -t SRV _ldap._tcp.example.co.jp. _ldap._tcp.example.co.jp has SRV record 0 100 389 dc.example.co.jp. # host -t SRV _kerberos._udp.example.co.jp. _kerberos._udp.example.co.jp has SRV record 0 100 88 dc.example.co.jp. # host -t A dc.example.co.jp. dc.example.co.jp has address 192.168.0.1
kerberos認証の動作確認のため /etc/krb5.conf をリンクで置き換えます。
# cd /etc # rm -f krb5.conf # ln -s /usr/local/samba/private/krb5.conf krb5.conf
Kerberos認証の確認をします。
管理者パスワードを入力する必要があります。
また、ドメインは必ず大文字で入力する必要があります。
特にエラーが出なければOKです。
Warningは問題ありません。
# kinit administrator@EXAMPLE.CO.JP Password for administrator@EXAMPLE.CO.JP: Warning: Your password will expire in 41 days on 2015年08月10日 18時23分00秒
認証が登録されているか確認します。
登録されたリストの時刻が更新されていればOKです。
# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: administrator@EXAMPLE.CO.JP Valid starting Expires Service principal 2015-06-29T18:35:29 2015-06-30T04:35:29 krbtgt/EXAMPLE.CO.JP@EXAMPLE.CO.JP renew until 2015-06-30T18:35:25
ドメイン参加
ここまでできていれば、以下の手順でWindowsマシンのドメイン参加が可能です。
- DNS設定をsambaADのアドレスに向ける
- コンピューターのプロパティからドメインに参加
また、ドメインに参加したマシンにリモートサーバー管理ツールをインストールすればドメインの管理ができます。
インストールしてコンポーネントを有効にした後に下記の手順。
- AdministratorパスワードをsambaADで設定した物と合わせておく
- administrator@domain でログオン
- 管理ツールを起動する
参考サイト
- 最終更新:2016-01-26 10:18:01