Sun Cluster Data Service for Samba ガイド (Solaris OS 版)

Samba をインストールおよび構成するには

  1. Sun Cluster における Samba の配備方法を決定します。

    • 配備する Samba インスタンス数を決定します。

    • Winbind を配備するかどうかを決定します。

    • 各 Samba インスタンスと Winbind インスタンス (配備する場合) に使用させるクラスタファイルシステムを決定します。

  2. Samba クラスタファイルシステムをマウントします。


    注 –

    Samba インスタンスにフェイルオーバーファイルシステムを使用させる場合は、手動でファイルシステムをマウントする必要があります。


  3. 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

  4. 障害モニターユーザー用のエントリを作成します。

    • 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 に設定します。

  5. 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
    
  6. 要件に基づいて 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.confglobal セクションに以下のエントリを追加する必要があります。以下の値は、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 を示さなければなりません。


  7. Samba smb.conf ファイルをテストします。


    # <samba-bin-directory>/testparm  \
    <samba-configuration-directory>/lib/smb.conf 
    
  8. 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>
    
  9. 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>
    
  10. 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>
    
  11. 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/sfwsmb.conf ファイルを見つけようとします。この問題を回避するには、/etc/sfw/smb.conf から <samba-configuration-directory> /lib/smb.conf へのシンボリックリンクを作成します。複数の Samba インスタンスを配備する場合はシンボリックリンクを削除し、Samba インスタンスごとに手順を繰り返す必要があります。

    パッチ 114684–01 以降がインストールされている場合は、smbpasswd-c パラメータを認識します。

    Samba 3.0.x を使用している場合は、pdbedit を使用してユーザーをほかのパスワードバックエンドに追加できます。pdbedit とそのほかのパスワードバックエンドの使用法については、Samba のマニュアルを参照してください。


  12. 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
    
  13. 要件に基づいて 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 に対するシンボリックリンクであることを確認します。


  14. Winbind をネームサービスとして追加します (Sun Cluster HA for Samba データサービスが稼働するすべてのノード上の passwd および group の /etc/nsswitch.conf に対して)。


    # grep winbind /etc/nsswitch.conf 
    passwd:     files winbind
    group:      files winbind
  15. シンボリックリンクをコピーおよび作成します。

    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 
    
  16. 1 つのノードで Winbind を起動します。


    注 –

    Samba のインストール方法によって、winbind プログラムは <samba-bin-directory> に置かれる場合と、 <samba-sbin-directory> に置かれる場合があります。



     # <samba-[s]bin-directory>/winbindd -s <winbind-configuration-directory>/lib/smb.conf
    
  17. Winbind データベースにデータを入力します。


    # getent passwd
    # getent group
    
  18. winbindd を停止します。


    # pkill -TERM winbindd