この節では、Samba のインストールと構成に必要な手順について説明します。
これ以降の節では、Samba または Winbind の特定のディレクトリを参照します。前の例で示したこれらの参照の一般的なパス名をまとめておきます。これらの例が示されている「構成に関する制限事項」を参照してください。
Samba を http://www.samba.org から広域ファイルシステムにインストールし、広域ファイルシステムに Samba インスタンスと Winbind がある場合 (例 1)
Samba-bin-directory — /global/samba/bin
Samba-sbin-directory — /global/samba/sbin または
/global/samba/bin (Samba がデフォルトの設定値でインストールされている場合)
Samba-configuration-directory — /global/samba/SAMBA1
Winbind-configuration-directory — /global/samba/winbind
Samba を Solaris 9 からローカルファイルシステムにインストールし、Samba インスタンスがフェイルオーバーファイルシステムにある場合 (例 2)
Samba-bin-directory — /usr/sfw/bin
Samba-sbin-directory — /usr/sfw/sbin
Samba-configuration-directory — /local/samba/SMB1
Sun Cluster における Samba の配備方法を決定します。
配備する Samba インスタンス数を決定します。
Winbind を配備するかどうかを決定します。
各 Samba インスタンスと Winbind インスタンス (配備する場合) に使用させるクラスタファイルシステムを決定します。
Samba クラスタファイルシステムをマウントします。
Samba インスタンスにフェイルオーバーファイルシステムを使用させる場合は、手動でファイルシステムをマウントする必要があります。
Sun Cluster 内の全ノードへ Samba をインストールします。
Samba は広域ファイルシステムにインストールすることをお勧めします。ソフトウェアをローカルファイルシステムにインストールした場合と、クラスタファイルシステムにインストールした場合のメリットとデメリットについては、『Sun Cluster データサービスのインストールと構成』の「アプリケーションバイナリの格納先の決定」を参照してください。
http://www.samba.org から Samba をダウンロードします。
/usr/local/samba がクラスタファイルシステムであるか、またはクラスタファイルシステムへのシンボリックリンクを持っていることを確認します。Samba ソフトウェアにローカルディスクを使用する場合は、Sun Cluster 内のすべてのノードでこの手順を繰り返す必要があります。
例 1–4 に、Samba 2.2.8a のダウンロード、解凍、展開後、Winbind とともに Samba 2.2.8a をインストールする方法を示します。ADS (Active Directory Support) をサポートする Samba 3 の構築方法については、Samba のマニュアルを参照してください。
# cd <samba_install_directory>/source # # ./configure --with-winbind --with-pam # # make # # make install |
または、Solaris 9 CD から Samba をインストールします。
Sun Cluster 内の Samba サービスを稼働させるすべてのノードに、以下のパッケージをインストールする必要があります。
SUNWsmbac
SUNWsmbar
SUNWsmbau
SUNWsfman
障害モニターユーザー用のエントリを作成します。
Winbind を使用しない場合:
Sun Cluster のすべてのノードで、/etc/group にエントリを作成します。
# groupadd -g 1000 <fmgroup> |
Sun Cluster のすべてのノードで /etc/passwd にエントリを作成します。このユーザーにはロックされたパスワードを与えます。シェルとホームディレクトリは与えません。
# useradd -u 1000 -g 1000 -s /bin/false <fmuser> |
Winbind を使用する場合:
ホームディレクトリ、ユーザープロファイル、およびログオンスクリプトを指定しないで、NT PDC/ Windows 200x サーバーに障害モニターユーザーを作成します。Password never expire パラメータを True に、User cannot change password パラメータを True に設定します。
Samba インスタンス (複数可) に必要なディレクトリを作成します。
複数の Samba インスタンスを配備する場合は、Samba インスタンスごとに、すなわち samba-configuration-directory ごとにこの手順を繰り返す必要があります。共有用のディレクトリを作成します。このディレクトリには任意の名前を指定できます。
# cd <samba-configuration-directory> # # mkdir -p lib logs private shares var/locks |
<samba-configuration-directory> については、「構成に関する制限事項」を参照し、例で使用される一般的なパス名のリストについては、「Samba のインストールと構成」を参照してください。
例 1–5 に、SAMBA1 と SAMBA2 という名前の 2 つの Samba インスタンスを示します。Samba は http://www.samba.org からインストールされ、/usr/local/samba は広域ファイルシステムとしてマウントされた /global/samba へのシンボリックリンクが設定されています。SAMBA1 の samba-configuration-directory は /global/samba/SAMBA1 です。SAMBA2 の samba-configuration-directory は /global/samba/SAMBA2 です。
# ls -l /usr/local/samba lrwxrwxrwx 1 root other 13 Oct 11 11:20 /usr/local/samba -> /global/samba # # cd /global/samba # # ls -l total 18 drwxr-xr-x 2 root other 512 Oct 11 15:00 bin drwxr-xr-x 3 root other 512 Oct 14 13:49 lib drwxr-xr-x 6 root other 512 Oct 11 15:00 man drwxr-xr-x 2 root other 512 Oct 14 10:05 private drwxr-xr-x 7 root other 512 Oct 14 13:39 SAMBA1 drwxr-xr-x 7 root other 512 Oct 14 13:40 SAMBA2 drwxr-xr-x 6 root other 512 Oct 11 15:01 swat drwxr-xr-x 3 root other 512 Oct 14 10:45 var drwxr-xr-x 2 root other 512 Jan 17 09:28 winbind # # cd SAMBA1 # # mkdir -p lib logs private shares var/locks # # cd ../SAMBA2 # # mkdir -p lib logs private shares var/locks |
要件に基づいて Samba の smb.conf ファイルを作成します。
Sun Cluster HA for Samba データサービスは Samba 用のサンプル smb.conf ファイルを提供します。
Sun Cluster のインストール時に Sun Cluster HA for Samba パッケージ (SUNWscsmb) をインストールしなかった場合は、「Sun Cluster HA for Samba パッケージのインストール」へ進みます。そのあとでここに戻り、Samba のインストールと構成作業を続けてください。
/opt/SUNWscsmb/samba/etc/smb.conf_sample の内容は Samba 構成ファイルのサンプルです。このサンプルファイルを使用して、独自の Samba インスタンス <samba-configuration-directory>/lib/smb.conf を作成できます。ただし、設定した構成値が反映されるように、ファイルを編集する必要があります。
# cp /opt/SUNWscsmb/samba/etc/smb.conf_sample \ <samba-configuration-directory>/lib/smb.conf |
Winbind コンポーネントをインストールしている場合は smb.conf_sample をコピーしたあとで、<samba-configuration-directory>/lib/smb.conf の global セクションに以下のエントリを追加する必要があります。以下の値は、smb.conf(5) のマニュアルページに基づいたデフォルト値です。
winbind uid = 10000-20000 winbind gid = 10000-20000 winbind enum users = yes winbind enum groups = yes |
pid directory は、smb.conf_sample の中で指定されているように、<samba-configuration-directory> /var/locks を示さなければなりません。
# <samba-bin-directory>/testparm \ <samba-configuration-directory>/lib/smb.conf |
NT ドメインメンバーとして構成され、Samba 2.2.x を使用している場合は、ドメインを結合します。
# <samba-bin-directory>/smbpasswd \ -c <samba-configuration-directory>/lib/smb.conf \ -j <DOMAIN> -r <PDC >\ -U <Administrator on the PDC> |
正常に処理されると、次のメッセージが表示されます。
# smbpasswd: Joined domain <DOMAIN> |
NT ドメインメンバーとして構成され、Samba 3.0.x を使用している場合は、ドメインを結合します。
# <samba-bin-directory>/net \ -s <samba-configuration-directory>/lib/smb.conf \ RPC JOIN -U <Administrator on the PDC> |
正常に処理されると、次のメッセージが表示されます。
# Joined domain <DOMAIN> |
ADS をサポートする Windows 200x ドメインメンバーとして構成されている場合は、ドメインを結合します。
# <samba-bin-directory>/net \ -s <samba-configuration-directory>/lib/smb.conf \ ADS JOIN \ -U <Administrator on the Windows 200x Domain> |
正常に処理されると、次のメッセージが表示されます。
# Joined <NETBIOS> to realm <REALM> |
PDC として構成されている場合、または security = user を指定して構成されている場合は障害モニターユーザーを追加します。
# <samba-bin-directory>/smbpasswd \ -c <samba-configuration-directory>/lib/smb.conf \ -a <fmuser> |
Solaris 9 のパッケージに組み込まれている Samba v2.2.2 では、smbpasswd プログラムが -c パラメータを認識せず、/etc/sfw で smb.conf ファイルを見つけようとします。この問題を回避するには、/etc/sfw/smb.conf から <samba-configuration-directory> /lib/smb.conf へのシンボリックリンクを作成します。複数の Samba インスタンスを配備する場合はシンボリックリンクを削除し、Samba インスタンスごとに手順を繰り返す必要があります。
パッチ 114684–01 以降がインストールされている場合は、smbpasswd が -c パラメータを認識します。
Samba 3.0.x を使用している場合は、pdbedit を使用してユーザーをほかのパスワードバックエンドに追加できます。pdbedit とそのほかのパスワードバックエンドの使用法については、Samba のマニュアルを参照してください。
Winbind インスタンスに必要なディレクトリを作成します。
以下の手順が必要なのは Winbind コンポーネントを使用する場合だけです。それ以外の場合は、以下の手順を省いて、「Samba のインストールと構成の確認」に進んでください。
Winbind を配備する場合は、winbind-configuration-directory 内に以下のディレクトリとシンボリックリンクを作成する必要があります。
# cd <winbind-configuration-directory> # # mkdir -p lib locks private var # mkdir -p /var/winbind/pid # ln -s /var/winbind/pid var/locks |
<winbind-configuration-directory> については、「構成に関する制限事項」を参照し、例で使用される一般的なパス名のリストについては、「Samba のインストールと構成」を参照してください。
例 1–6 に Winbind インスタンスを示します。Samba は http://www.samba.org からインストールされていて、/usr/local/samba は広域ファイルシステムとしてマウントされた /global/samba へのシンボリックリンクが設定されています。Winbind 用の winbind-configuration-directory は /global/samba/winbind です。
# ls -l /usr/local/samba lrwxrwxrwx 1 root other 13 Oct 11 11:20 /usr/local/samba -> /global/samba # # cd /global/samba # # ls -l total 18 drwxr-xr-x 2 root other 512 Oct 11 15:00 bin drwxr-xr-x 3 root other 512 Oct 14 13:49 lib drwxr-xr-x 6 root other 512 Oct 11 15:00 man drwxr-xr-x 2 root other 512 Oct 14 10:05 private drwxr-xr-x 7 root other 512 Oct 14 13:39 SAMBA1 drwxr-xr-x 7 root other 512 Oct 14 13:40 SAMBA2 drwxr-xr-x 6 root other 512 Oct 11 15:01 swat drwxr-xr-x 3 root other 512 Oct 14 10:45 var drwxr-xr-x 2 root other 512 Jan 17 09:28 winbind # # cd winbind # # mkdir -p lib locks private var # mkdir -p /var/winbind/pid # ln -s /var/winbind/pid var/locks |
要件に基づいて Winbind の smb.conf ファイルを作成します。
Sun Cluster HA for Samba データサービスは Winbind 用のサンプル smb.conf ファイルを提供します。
Sun Cluster のインストール時に Sun Cluster HA for Samba パッケージ (SUNWscsmb) をインストールしなかった場合は、「Sun Cluster HA for Samba パッケージのインストール」へ進みます。そのあとでここに戻り、Samba のインストールと構成作業を続けてください。
Winbind リソースがスケーラブルなリソースとして運用されない場合、Samba と同じ構成ディレクトリを使用し、Winbind のパラメータを使用して smb.conf ファイルを更新することができます。
/opt/SUNWscsmb/winbind/etc/smb.conf_sample の内容は Winbind 構成ファイルのサンプルです。このサンプルファイルを使用して、独自の Winbind インスタンス <winbind-configuration-directory>/lib/smb.conf を作成できます。設定した構成値が反映されるように、ファイルを編集する必要があります。また、smb.conf ファイル内の [global] セクションには次のエントリを追加する必要があります。
# cp /opt/SUNWscsmb/winbind/etc/smb.conf_sample \ <winbind-configuration-directory>/lib/smb.conf |
smb.conf_sample をコピーしたあとで、以下のエントリを <winbind-configuration-directory> /lib/smb.conf の [global] セクションに追加する必要があります。
smb passwd file = <winbind-configuration-directory>/private lock directory = <winbind-configuration-directory>/locks pid directory = <winbind-configuration-directory>/var/locks |
Winbind コンポーネントをスケーラブルサービスとして動作させる場合は、Winbind の構成ディレクトリを広域ファイルシステムとしてマウントする必要があります。ロックディレクトリを使用してデータベースに登録する Name and ID Resolution については、winbindd(8) のマニュアルページを参照してください。
pid directory は、構成ディレクトリ /var/locks を示さなければなりません。さらに、構成ディレクトリ /var/locks はローカルファイルシステム、すなわち /var/winbind/pid に対するシンボリックリンクであることを確認します。
Winbind をネームサービスとして追加します (Sun Cluster HA for Samba データサービスが稼働するすべてのノード上の passwd および group の /etc/nsswitch.conf に対して)。
# grep winbind /etc/nsswitch.conf passwd: files winbind group: files winbind |
シンボリックリンクをコピーおよび作成します。
Sun Cluster HA for Samba データサービスが稼働するすべてのノード上で、Winbind 用にいくつかのファイルとシンボリックリンクを設定する必要があります。
# cd <samba-install-directory> # # cp source/nsswitch/libnss_winbind.so /usr/lib # # ln -s /usr/lib/libnss_winbind.so /usr/lib/libnss_winbind.so.1 # # ln -s /usr/lib/libnss_winbind.so /usr/lib/nss_winbind.so.1 |
1 つのノードで Winbind を起動します。
Samba のインストール方法によって、winbind プログラムは <samba-bin-directory> に置かれる場合と、 <samba-sbin-directory> に置かれる場合があります。
# <samba-[s]bin-directory>/winbindd -s <winbind-configuration-directory>/lib/smb.conf |
Winbind データベースにデータを入力します。
# getent passwd # getent group |
winbindd を停止します。
# pkill -TERM winbindd |