忍者ブログ

インフラ構築手順書

はじめてのインフラ、サーバ構築時に役に立つように構築手順情報をまとめました。


HOME   »  AD連携

[PR]

広告 

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



Samba4の自動起動スクリプト

広告 

Samba4の自動起動スクリプト

Samba4をソースからインストールした場合、自動起動スクリプトを環境に合わせて準備する必要がある。
・Samba4のパス: /opt/app/samba4/sbin/samba
#! /bin/bash
#
# samba4       Bring up/down samba4 service 
#
# chkconfig: - 90 10
# description: Activates/Deactivates all samba4 interfaces configured to \
#              start at boot time.
#
### BEGIN INIT INFO
# Provides: 
# Should-Start: 
# Short-Description: Bring up/down samba4
# Description: Bring up/down samba4
### END INIT INFO
# Source function library.
. /etc/init.d/functions

if [ -f /etc/sysconfig/samba4 ]; then
    . /etc/sysconfig/samba4
fi

CWD=$(pwd)
prog="samba4"

start() {
      # Attach irda device 
      echo -n $"Starting $prog: "
    /opt/app/samba4/sbin/samba
    sleep 2
    if ps ax | grep -v "grep" | grep -q /sbin/samba ; then success $"samba4 startup"; else failure $"samba4 startup"; fi
      echo
}
stop() {
      # Stop service.
      echo -n $"Shutting down $prog: "
    killall samba
    sleep 2
    if ps ax | grep -v "grep" | grep -q /sbin/samba ; then failure $"samba4 shutdown"; else success $"samba4 shutdown"; fi
      echo
}
status() {
    /opt/app/samba4/sbin/samba --show-build
}

# See how we were called.
case "$1" in
start)
    start
      ;;
stop)
    stop
      ;;
status)
    status irattach
    ;;
restart|reload)
    stop
    start
    ;;
*)
      echo $"Usage: $0 {start|stop|restart|status}"
      exit 1
esac

exit 0


[サーバ構築の実例がわかる Samba[実践]入門 ]の書籍横断比較とレビュー

サーバ構築の実例がわかる Samba[実践]入門
著者:高橋 基信
出版日:2010-10-02
出版社:技術評論社

[改訂版 Sambaのすべて]の書籍横断比較とレビュー

改訂版 Sambaのすべて
著者:高橋 基信
出版日:2011-04-23
出版社:翔泳社



拍手[0回]



SAMBA4を2台目ドメインコントローラ(DC)サーバとして稼働させる

広告 

SAMBA4を2台目ドメインコントローラ(DC)サーバとして稼働させる

WindowsでActiveDirectoryを構築したが、予算の関係で2台目のDCサーバをCentOS6.5のSAMBA4で構築した際の導入手順です。 SAMBA4だけでもActiveDirecoryを構築できますし、Windowsサーバと混在環境でも構築可能です。

想定システム構成

 ・ActiveDirectoryはWindowsServer2012サーバで下記内容で構築済み
   フォレストの機能レベル:Windows Server 2008 R2
   ドメインの機能レベル:Windows Server 2008 R2
 ・既存ActiveDirectoryに2台目(BDC)のDCサーバとしてSAMBA4を導入する

 ※2014年6月14日現在のSAMBA4は、WindowsServer2012R2で構築したActiveDirectoryには対応しておりません。「フォレストの機能レベル」および「ドメインの機能レベル」をWindowsServer2008R2以下にしてもエラーがでます。

ActiveDirectory情報
フォレストの機能レベル Windows Server 2008 R2
ドメインの機能レベル Windows Server 2008 R2
ドメイン名 ad.hogehoge.jp
NetBiosドメイン名 ad
1台目DCサーバIP 172.20.1.203
1台目DCサーバ名 dc01.ad.hogehoge.jp
2台目DCサーバIP 172.29.1.204
2台目DCサーバ名 dc02.ad.hogehoge.jp


SAMBA4のDC構築手順(2台目以降)

PDCがWindowsでもSAMBAでも、2台目以降のSAMBA4の構築手順は同じである。
DNSはbindではなくSAMBAのDNS機能を利用するので、BINDを起動している場合は停止する必要がある
CentOS6の標準Sambaパッケージでは、ActiveDirectoryドメインコントローラー機能が含まれていない。
今回の手順は、Samba4のソースコードからインストールする手順である。

SAMBA4で2台目以降のDCサーバ構築前の事前作業

不要パッケージを削除
 SAMBA3がインストールされている場合は、アウンインストールする。
 # yum remove samba-client samba-winbind samba-winbind-clients samba-common

リゾルバ設定
 # vi /etc/resolv.conf
#DC01(172.20.1.203)
nameserver 172.20.1.203
domain=ad.hogehoge.jp
※DNSサーバIPとドメイン名は環境に合わせて変更する


SAMB4インストール

SAMB4の依存関係パッケージインストール
# yum install gcc libacl-devel libblkid-devel gnutls-devel  \
 python-devel pkgconfig krb5-workstation zlib-devel libaio-devel  \
 policycoreutils-python libsemanage-python setools-libs-python  \
 setools-libs popt-devel libpcap-devel sqlite-devel libidn-devel \
 libxml2-devel libsepol-devel keyutils-libs-devel \
  cyrus-sasl-devel bind-utils 

Samba4最新版ダウンロード
# cd /usr/local/src
# wget http://ftp.samba.org/pub/samba/samba-latest.tar.gz

Samba4展開
# tar zxvf samba-latest.tar.gz
# cd samba-4.1.6/

Samba4インストール
SAMBAインストール先:/opt/app/samba4
# ./configure --prefix=/opt/app/samba4/ --enable-selftest
※赤字のインストール先は環境に合わせること。
# make
   :
Waf: Leaving directory `/usr/local/src/samba-4.1.6/bin'
'build' finished successfully (14m45.145s)
# make install 
   :
Waf: Leaving directory `/usr/local/src/samba-4.1.6/bin'
'install' finished successfully (3m12.883s)

Samba起動スクリプト作成
# vi /etc/init.d/samba4
Samba起動スクリプト作成内容はこちらを参照

Samba標準パッケージのインストール除外
CentOSの標準SAMBAパッケージがインストールきされないように、yumのインストール除外設定をしておく。
# vi /etc/yum.conf
[main]
   exclude=kernel* samba* bind-utils

SAMBA4のDC昇格

kerberos関連設定
# cp /etc/krb5.conf /etc/krb5.conf.org
# vi /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 = AD.HOGEHOGE.JP
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true

[realms]
 AD.HOGEHOGE.JP = {
  kdc = dc01.ad.hogehoge.jp
 }

[domain_realm]
 .ad.hogehoge.jp = AD.HOGEHOGE.JP
 ad.hogehoge.jp = AD.HOGEHOGE.JP
※大文字小文字の区別があるので注意を!!
※赤文字は環境に合わせて変更すること

Kerberos設定の確認
# kinit administrator@AD.HOGEHOGE.JP
・エラーメモ
kinit(v5): Cannot resolve network address for KDC in requested realm while getting initial credentials ドメインが存在しない
kinit(v5): Client not found in Kerberos database while getting initial credentials ユーザーが存在しない
kinit(v5): KDC reply did not match expectations while getting initial credentials ドメインが小文字を指定している
kinit(v5): Preauthentication failed while getting initial credentials パスワードが違う
kinit(v5): Clock skew too great while getting initial credentials Linuxと ActiveDirectoryの DCの時刻が 5分以上ずれている

ドメインへの参加
sambaを起動し、ドメイン参加する
# /etc/rc.d/init.d/samba4 start
# /opt/app/samba4/bin/samba-tool domain join ad.hogehoge.jp DC -U administrator --realm=AD.HOGEHOGE.JP
Committing SAM database
descriptor_sd_propagation_recursive: DC=DomainDnsZones,DC=ad,DC=hogehoge,DC=jp not found under DC=ad,DC=hogehoge,DC=jp
descriptor_sd_propagation_recursive: DC=ForestDnsZones,DC=ad,DC=hogehoge,DC=jp not found under DC=ad,DC=hogehoge,DC=jp
Sending DsReplicateUpdateRefs for all the replicated partitions
Setting isSynchronized and dsServiceName
Setting up secrets database
Joined domain AD(SID S-1-5-xx-3469xxxxxx-26xxxxxxx-249xxxxxxxxx) as a DC
※赤文字は環境に合わせて変更すること

DCの動作確認
・共有ディレクトリの確認
作業ターミナルウィンドと別にSambaサーバにログインし、netlogon,sysvol が表示されることを確認する
# /opt/app/samba4/bin/smbclient -L localhost -U%
Domain=[AD] OS=[Unix] Server=[Samba 4.1.6]

        Sharename       Type      Comment
        ---------       ----      -------
        netlogon        Disk
        sysvol          Disk
        IPC$            IPC       IPC Service (Samba 4.1.6)
Domain=[AD] OS=[Unix] Server=[Samba 4.1.6]

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------

・レプリケーションの確認
# /opt/app/samba4/bin/samba-tool drs showrepl
Samba4の自動起動設定
# chmod 755 /etc/init.d/samba4
# chkconfig --add samba4
# chkconfig --level 345 samba4 on


DC構築後の環境整備

Samabサーバのリゾルバ設定
# vi /etc/resolv.conf
nameserver 127.0.0.1 nameserver 172.20.1.203
Samba4にはADの機能を実現するためにDNSが必要ですが、Samba4でDNSを利用するためには2つの方法があります。

・SAMBA4のDNS利用方法1
1つめは内部DNSの使用でSamba4にDNSサーバを取り込んだものでデフォルトではこの内部DNSが使用されます。この場合、特別な設定を実施せずともコンピュータやDCの名前解決ができます。また、DNSのゾーン情報はSamba4のデータベースに登録されるため別のDCにレプリケーションされます。これにより複数のサーバでDNSのゾーン情報を更新可能となります。
・SAMBA4のDNS利用方法2
2つ目の方法はBINDと連携する方法でこの場合、BINDを通常のDNSサーバとして設定しSamba4用のゾーン情報を追記すれば連携が可能となります。



名前解決のForword設定
ADのドメイン以外の名前解決をさせるために、smb.confファイルに「dns forwarder」を設定する。
# vi /opt/app/samba4/etc/smb.conf

[global] workgroup = AD realm = ad.hogehoge.jp netbios name = DC02 server role = active directory domain controller dns forwarder = 8.8.8.8
・設定反映
# /etc/init.d/samba4 restart
※8.8.8.8はGOOGLEのDNSサーバです。

NTP設定
・NTP_SIGND_SOCKET_DIRを調べる
Sambaが作るntp_signdの場所は、sambaのビルド情報のNTP_SIGND_SOCKET_DIRに示されている。
# /opt/app/samba4/sbin/samba -b | grep NTP_SIGND_SOCKET_DIR
   NTP_SIGND_SOCKET_DIR: /opt/app/samba4/var/lib/ntp_signd
# chgrp ntp /opt/app/samba4/var/lib/ntp_signd

・NTP設定
ntp_signdの場所をntpsigndsocketとして反映させたntpの設定ファイル(/etc/ntp.conf)を作成して、ntpを起動させる
# vi /etc/ntp.conf
#NTP Server
#アクセス許可
restrict 127.0.0.1
restrict 172.20.1.0 mask 255.255.255.0
restrict 172.20.2.0 mask 255.255.255.0

# 同期サーバとのアクセス許可
restrict 172.20.1.203 noquery
restrict 133.100.11.8 noquery
#同期するNTPServer指定
# DC01(172.20.1.203)
server 172.20.1.203
# clock.tl.fukuoka-u.ac.jp
server 133.100.11.8
ntpsigndsocket /opt/app/samba4/var/lib/ntp_signd
restrict default mssntp

includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

・NTP起動
# /etc/init.d/ntpd start
# chkconfig ntpd on

・NTP同期確認
# grep MS-SNTP /var/log/messages
May 15 18:38:17 dc02 ntpd[25887]: MS-SNTP signd operations currently block ntpd degrading service to all clients.
May 15 18:43:46 dc02 ntpd[25917]: MS-SNTP signd operations currently block ntpd degrading service to all clients.


拍手[13回]



ApacheのKERBEROS認証を用いたAD連携

広告 

ApacheのKerberos認証でAD認証連携させる

Apacheの基本認証にActiveDirectory(AD)のユーザ認証と連携する方法は2つあります。
 ・Apacheの基本認証にLDAP認証を用いたAD連携
 ・ApacheのKERBEROS認証を用いたAD連携
ここでは、「KERBEROS認証を用いたAD連携」について説明します。

ApacheのKERBEROS認証を用いたAD連携
利用モジュール mod_auth_kerb
メリット Apache-ADサーバ間はKERBEROS経由を利用するため、パスワードが暗号化されます。
デメリット KERBEROS認証の場合は、ActiveDirectory上の有効なユーザ全員が対象となり、ActiveDirectory上の特定OU内のユーザのみにすることは出来ないようです。
特定ユーザのみにする場合は「Require user」か、ユーザを列挙したファイルを用意して「Require group」を使用することになります。
Chromeブラウザからの認証は500エラーが発生する。(IE,FireFoxは正常にアクセスできることを確認)



ApacheとActiveDirectory(AD)連携手順の概要

DCサーバ側作業
 ・事前作業
Apacheサーバ側作業
 ・mod_auth_kerbモジュールインストール
 ・krb5.confファイルの編集
 ・ApacheのAD連携設定




事前作業(DCサーバ側作業)

ActiveDirectory構築
 ここでは、ActiveDirectoryが事前に構築済みであることを前提とします。

基本認証用アカウントの作成
 ADに基本認証用アカウントを作成する。


mod_auth_kerbモジュールインストール

# yum install mod_auth_kerb



krb5.confのAD連携設定

ログディレクトリ/var/log/krb5
Windowsドメイン名ad.hoge.com
DC(ドメインコントローラ)サーバ192.168.2.4

ログディレクトリ作成
 # mkdir /var/log/krb5 ;chown apache /var/log/krb5

krb5.confファイルの編集
 # vi /etc/krb5.conf
[logging]
default = FILE:/var/log/krb5/krb5libs.log
kdc = FILE:/var/log/krb5/krb5kdc.log
admin_server = FILE:/var/log/krb5/kadmind.log

[libdefaults]
default_realm = AD.HOGE.COM
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true

[realms]
AD.HOGE.COM = {
default_domain = ad.hoge.com
kdc = 192.168.2.4:88
admin_server = 192.168.2.4:749
}

[domain_realm]
.ad.hoge.com = AD.HOGE.COM
ad.hoge.com = AD.HOGE.COM
※大文字小文字は重要です。

krb5設定の動作確認
# kinit testapache@AD.HOGE.COM
Password for testapache@AD.HOGE.COM:
※何も表示されず終了すれば、成功!!
※ドメイン名は大文字にすること!!
※kinitコマンドはkrb5-workstationパッケージに含まれている



ApacheのAD連携設定

 # vi /etc/httpd/conf/httpd.conf
LoadModule auth_kerb_module modules/mod_auth_kerb.so

Alias /krb5 /var/www/krb5
<Location /krb5>
AuthType Kerberos
AuthName "Kerberos Login(ActiveDirectory)"
KrbAuthRealms AD.HOGE.COM
KrbVerifyKDC Off
KrbServiceName HTTPS/webdav-01.web.hoge.com
KrbMethodNegotiate off
KrbSaveCredentials off
Require valid-user
Order deny,allow
Deny from none
Allow from all
</Location>

<Directory "/var/www/krb5">
Options -Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>


IEとFireFoxでアクセスできるが、Chromeでは500エラーとなってしまう場合は、下記を追加することで回避できる。

KrbMethodNegotiate off
KrbSaveCredentials off



拍手[5回]



Yahoo!ブックマーク Googleブックマーク はてなブックマーク livedoorClip del.icio.us FC2 ニフティクリップ iza Buzzurl 


最新記事
(09/17)
(04/09)
(04/09)
(03/22)
(01/16)
(12/30)
(12/26)
(09/21)
(09/21)
(09/20)
(09/12)
(06/13)
(06/13)
(03/14)
(02/15)
(01/03)
(01/03)
(10/04)
(09/20)
(09/15)
(09/14)
(09/14)
(09/14)
(09/06)
(08/30)
最古記事
(10/29)
(10/29)
(10/29)
(10/29)
(10/29)
(04/12)
(04/12)
(06/12)
(06/12)
(06/20)
(06/22)
(07/22)
(07/22)
(07/30)
(07/30)
(08/18)
(08/18)
(08/22)
(08/24)
(08/24)
(08/24)
(08/24)
(08/24)
(08/24)
(08/24)


PR

Copyright © インフラ構築手順書 : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]

管理人限定

検索フォーム

カスタム検索

フリーエリア

ESXiの基本設定・運用設定
ESXiのSSH設定
ESXiの NTP設定
VMware ESXiでの時刻同期(NTP)ペストプラクティス
ESXiのゲストOS(仮想マシン)複製
ESXiのOVF形式で複製
異なるESXiバージョン間の複製(移行)
クローン作成後の後処理
仮想マシンのLVM追加
仮想共有ディスクファイルの作成
ESXi上でハイパーバイザーを稼動させる
パフォーマンスがでないとき確認すること


サーバ構築手順
ESXi上でRACを構築する
GFS2+DRBD構築
PaceMaker+MySQLレプリケーション構築
PaceMaker+DRBD構築
HeartBeat2+DRBD構築


Solarisの構築手順
Solarisのネットワーク設定変更
Solarisのホスト名変更
Solaris11のresolv.conf変更手順
Solaris11のHDD増設手順


AWS(Amazon Web Service)の基本設定・運用設定
S3 WEBサイトの構築
S3 WEBサイトのアクセス制限
S3 WEBサイトのリダイレクト設定


Windows Azureの基本設定・運用設定
AzureでWordpress構築
英語版Wordpressを日本語化する
AzureWebサイトの独自ドメイン設定
AzureWebサイトのモード変更
WEBアクセスログ解析ツールの比較


WordPressの基本設定・運用設定
WordPressの基本構造
WordPressのインストール手順
Wordpressマルチサイト機能
「続き読む(more)」カスタマイズ
Wordpressの独自PHP
Wordpressをサブディレクトリに移す
既存サブディレクトリをルートディレクトリとする
Wordpressが利用可能な共用ホスティング


Postfix構築
Postfixにおける暗号化したSMTP認証設定


SoftEtherVPNの構築
ESXi上のSoftEtherVPN構築
DDNSと組み合わせたSoftEtherVPNの設定


LinuxのAD連携
LinuxのActiveDirectory連携について
PAM認証でAD連携
ApacheでAD連携(LDAP認証)
ApacheでAD連携(Kerberos認証)
SAMBAで2台目DCサーバを構築
RedmineとGitのLDAP(AD)認証設定
JenkinsのLDAP(ActiveDirectory)認証設定


Redmine設定
Alminium(RedmineとGit/SVN)のインストール手順
RedmineとGitのLDAP(AD)認証設定
RedmineとGitの移行
JenkinsのLDAP(ActiveDirectory)認証設定


サーバの基本設定・運用設定
Apache
Apacheの基本設定
Apacheの仮想ホスト設定
PHPの基本設定
Nginxのロードバランサ設定
WebDAV構築手順
アンチウィルス
無償アンチウィルス(ClamAV)の導入手順
システム監視
システム監視ソフトMuninの導入手順
システム監視ソフトZabbixの導入手順
sarによるリソース使用情報取得


サーバ移行
Mysqlマイグレーション
MySQLマイグレーション時の問題点と解決策
Windows
Windows OS評価版からの移行
SQL Server評価版からの移行
クラスタソフト
クラスタソフトの比較

ツリーカテゴリ

広告ーSEO





人気ブログランキングへ
にほんブログ村 IT技術ブログ Webサイト構築へ

ブログ王ランキングに参加中!


最新トラックバック

バーコード

アフィリエイト2