MIRACLE

メールサービス申込 ユーザー登録&ログイン パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

テクノロジー情報

技術フォーラム


MIRACLE LINUX で構築する Windows ファイルサーバ

2003年2月5日

Samba によるファイルサーバ構築時のスケーラビリティに関して、OSDL ラボを利用して検証した結果をご紹介します。



  1. はじめに

    MIRACLE LINUXに含まれるSambaを利用して、Windowsクライアントが使用できるファイルサーバを構築することができます。本章では、Sambaを利用したファイルサーバの基本的な構築手順について説明します。

  2. ファイルサーバの導入形態

    初めてSambaサーバを導入するときには、主に次のような導入形態が考えられます。

    • スタンドアロンサーバ
      Windowsドメインを構成していないネットワークに、新たにファイルサーバを導入する場合です。ファイル共有サービスの認証をSambaサーバで行います。

    • ドメインメンバ
      Windows NT/2000サーバによって既にWindowsドメインが構築されているネットワークに新たにドメインメンバとしてファイルサーバを導入する場合です。ファイル共有サービスの認証は、既存のWindows NT/2000サーバを利用します。

    • ドメインコントローラ
      Sambaを利用して新たにWindowsドメインを構築する場合です。ファイル共有サービスに加えて、Sambaの提供するPDC(プライマリドメインコントローラ)機能を利用してWindowsドメインの管理も行う場合です。ドメイン認証はSambaサーバが行います。

    Fig1. Sambaサーバの導入形態

    まず最初にどのようなファイル共有サービスをクライアントに提供するかを検討しなければなりません。そこで、少なくとも次の項目について前もって検討しておくとSambaサーバの導入をスムーズに行うことができます。

    今回は、設定例として、開発部のメンバーが使用できるファイルサーバの導入を行う事例を想定しています。前述のスタンドアロンサーバに該当します。

    検討項目設定内容設定例
    Sambaサーバの形態スタンドアロンサーバ/ドメインメンバ/ドメインコントローラスタンドアロンサーバ
    ワークグループ名/ドメイン名 Sambaサーバが所属するワークグループ名/ドメイン名です。MIRACLE
    コンピュータ名ネットワーク一覧に現れるSambaサーバの名称です。FILESERVER
    共有名 Sambaサーバがクライアントに提供する共有フォルダの名称です。(複数設定できます) DEVELOP
    アクセス権共有フォルダに対するアクセス権です。ユーザ、グループ、全員といった単位で設定可能です。開発グループのユーザ全員に読み書きの権限を与える
    ファイルサーバの文字コードサーバに格納されるファイル名の文字コードです。サーバ上でのファイル管理の操作に関係します。 EUC/SJIS/HEX/CAPなどEUC
    ファイルの格納場所共有フォルダに格納されたファイルのSambaサーバ上での保存場所です。/var/samba/development

  3. Sambaサーバの設定

    MIRACLE LINUXのインストールを無事終了したら、Sambaサーバとしての設定を行います。 Sambaを利用するために必要な設定項目は、次のとおりです。

    1. ユーザ登録
    2. ディレクトリの作成
    3. Sambaの設定
    1. ユーザ登録

      Sambaサーバをスタンドアロンサーバとして使用する場合、共有フォルダに対するアクセス権の認証はSambaサーバが行うため、Sambaサーバに利用ユーザを登録する必要があります。 Sambaサーバへの登録は、LINUXのシステムアカウントと、smbpasswdと呼ばれるSambaが独自に格納するユーザ情報の両方に対して登録作業が必要です。

      例として、ユーザ名 user1、グループ名 develに所属するユーザ情報を登録するには、次の手順を実行します。

      # groupadd devel ... develグループをシステムに追加します。
      # useradd -g devel -m user1 ... user1ユーザをシステムに追加します。
      # smbpasswd -a user1 ... user1をSambaのユーザ情報に登録します。
    2. ディレクトリの作成

      Sambaサーバ上のファイルシステムに、ユーザのファイルを保管するためのディレクトリを作成します。

      # mkdir /var/samba/development ... ディレクトリを作成
      # chgrp 770 /var/samba/development
      # chown user1 /var/samba/development
      # chgrp devel /var/samba/development ... develグループが読み書き可能
    3. Sambaの設定

      Sambaの設定は、/etc/samba/smb.confに保存されます。 設定を行う方法には次の3つの方法があります。

      1. /etc/samba/smb.confをエディタで変更する
      2. SWATと呼ばれるWebインターフェースを利用して変更する。
      3. WebminのWebインターフェースを利用して変更する。

      ここでは、直接smb.confを変更する方法を示します。SWATや、Webminを利用してSambaの設定を変更する方法は後ほど記載します。

      smb.confファイルは、globalセクションと、サービスごとのサービスセクションで構成されます。 smb.confに設定できるパラメータは、smb.conf(5)のmanデータで確認することができます。グローバルセクションは、[global]からはじまり、サービスセクションは、[サービス名]ではじまります。

      パラメータには、globalセクションのパラメータと、サービスセクションのパラメータがあり、manデータではそれぞれのパラメータごとに、(G)、(S)で示されています。

      最初の設定例をもとにすると、smb.confに最低必要な設定は次のようになります。

        [global] 
        coding system = euc
        client code page = 932
        workgroup = MIRACLE
        netbios name = FILESERVER
        encrypt passwords = Yes
      
        [DEVELOP]
        path = /var/samba/development
        writeable = Yes
        create mask = 0640
        dirctory mask = 0750
      

      "coding system"と、"client code page"は日本語環境で必須のパラメータです。必ず[global]セクションの最初に記述してください。 "encrypt passwords"もユーザ認証に必要なパラメータですので、Yesを設定してください。 その他のパラメータの詳細に関しては、smb.conf(5)のmanデータを参照してください。

      以上で設定は完了です。

  4. Sambaサーバの運用

    Sambaを起動させるには、次のコマンドを実行します。

    # /sbin/service smb start


    Sambaを停止させるには、次のコマンドを実行します。
    # /sbin/service smb stop


    マシン起動時にSambaを自動的に起動するには、次のコマンドを実行します。
    # /sbin/chkconfig --add smb
    Sambaのログは、/var/log/samba/に出力されます。 ログレベルは、smb.confのlog levelパラメータによって決定されます。 また、ログファイル名やログサイズも設定することができます。

    次の設定は、ログレベルを3に設定し、最大500キロバイトまでのログファイルを、 クライアントごとに作成するための設定です。
      log level = 3
      log file = /var/log/samba/log.%m
      max log size = 500
    
  5. パスワード管理

    ユーザは、Sambaサーバの認証に使用しているパスワードをsmbpasswdコマンドで変更することができます。

    $ smbpasswd
    Old SMB password:
    New SMB password:
    Retype new SMB password:
    Password changed for user user1

    システム管理者は、smb.confに次の設定をしておくことで、一般ユーザがSambaのパスワードを変更するときに、システムアカウントのパスワードも同期させることができます。(MIRACLE LINUXの初期設定で設定済です。)

            passwd program = /usr/bin/passwd %u
            passwd chat = *New*password* %n\n *Re*new*password* %n\n *success*
            unix password sync = Yes
    	

    システム管理者は、smbpasswdコマンドを使用して一般ユーザのパスワードも変更することができます。ただし、この場合はシステムアカウントのパスワードの同期は行われませんので、passwdコマンドを使用してシステムアカウントのパスワードも変更する必要があります。

    # smbpasswd user1
    New SMB password:
    Retype new SMB password:
    Password changed for user user1
    #
    # passwd user1
    Changing password for user user1
    New UNIX password:
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully

  6. MIRACLE LINUXの初期設定

    MIRACLE LINUX Standard Edition V2.1でSambaの初期設定ではスタンドアロンサーバの設定が行われています。また、日本語環境に必要なパラメータの設定なども行われています。
    したがって、スタンドアロンサーバー構成のファイルサーバを構築したい場合には、共有ごとの設定を追加することと、ユーザの追加を行うことで、運用を開始することができます。

  7. Webインターフェースを利用したSambaの設定

    Sambaの設定は、SWAT、WebminのWebインターフェースで行うこともできます。
    SWATはSambaに付属しているSamba設定用のWebインターフェースで、とても詳細な設定を行ったり、付属ドキュメントを参照したりすることができます。
    一方、Webminにも、Samba設定用のインターフェースが用意されており、 簡単にSambaの設定を変更することができます。
    本章では、SWAT、Webminを利用してSambaの設定を行う手順を説明します。

    MIRACLE LINUXでは、これらのWebインターフェースはともにWebmin経由で提供されています。 Webminにログインして、「サーバ」-「Samba Windowsファイル共有」を選択すると、WebminのSamba設定インターフェースが表示されます。SWATを使用する場合には、さらに「SWAT」を選択します。

    Fig2. WebminのSamba設定画面 Fig3. SWATの画面

    SWATでSambaの設定を行う時には、「全体設定」、「共有設定」、「プリンタ」のいずれかをクリックして設定を行います。

    通常は重要なパラメータのみが表示されていますので、表示されていないパラメータを変更したいときは、「詳細表示」をクリックします。 設定した内容をsmb.confファイルに反映するときには、「設定変更」をクリックします。

    Fig4. 全体設定の画面

    ファイル共有やプリンタ共有を設定する時には、最初に既存の共有サービスの設定変更か、新規作成か選択しなければなりません。 新規に共有を作成するときには、共有名を入力してから「新規共有作成」を クリックすると、新しい共有サービスの設定画面になります。
    Fig5. 新規共有サービスの追加画面 Fig6. 新規共有サービスの設定画面

    Webminを利用して新しい共有サービスを作成するときには、「Samba Shareマネージャ」の画面で「新規のファイル共有を作成」をクリックします。 「共有名」や、「共有ディレクトリ」を入力して「作成」をクリックすると、共有フォルダが追加されます。

    Fig7. Webminのファイル共有サービス追加画面

    その他の設定に関しても、同様にWebインターフェースを利用することができますので、活用してください。

  8. 便利な機能

    本章では、Sambaサーバがより便利になる次の4つの機能を紹介します。

    1. ユーザホーム機能
    2. ごみ箱機能
    3. 容量制限機能
    4. ゲスト接続
    1. ユーザホーム機能

      Sambaを利用してユーザごとの専用フォルダを簡単に提供することができます。 この機能を利用するためには、[homes]という名称の特別な共有サービスを作成します。 ユーザがSambaサーバに接続すると、フォルダ名がユーザ名で表される特別な共有フォルダが表示されます。このフォルダには、ユーザのホームディレクトリが設定されています。

        設定例
         [homes]
         comment = %S's Home Directories
         writeable = Yes
         browseable = No
      	    

      Fig8. ユーザホーム機能

    2. ごみ箱機能

      Samba日本語版には、ごみ箱機能と呼ばれる機能が用意されています。この機能を使用すると、ユーザーが削除したファイルを所定のフォルダに保存しておくことができます。このため、ユーザが誤って削除したファイルを復活させることが可能です。

      ごみ箱機能を使用するためには、共有サービスに"recycle bin"パラメータを追加します。

        [DEVELOP]
        path = /var/samba/development
        writeable = Yes
        recycle bin = .recycle
      

      この設定により、ユーザが共有サービス上のファイルを削除したときに、 /var/samba/development/.recycleディレクトリにファイルが移動します。 ただし、.recycleディレクトリ内のファイルは削除されずに 残ったままとなりますので、定期的にcronなどで古くなった ファイルの削除などを実施するほうが良いでしょう。

      次の設定を行うと、ユーザのホームディレクトリごみ箱用としてrecycleフォルダが作成されます。

         [homes]
         comment = %S's Home Directories
         writeable = Yes
         browseable = No
         recycle bin = recycle
      	    
      「サンプル」ファイルを削除 ->
    3. 容量制限機能

      LinuxのQUOTA機能を使用して、各ユーザや、グループごとにディスク使用量を制限することができます。 MIRACLE LINUXでQUOTA機能を設定するには、次の手順を実行します。

      1. /etc/fstabの設定

        QUOTAの設定はパーティション単位で行います。 /etc/fstabファイルのオプション項目に、「usrquota」や「grpquota」を設定することで、ユーザごとのQUOTA制限、グループごとのQUOTA制限が利用可能になります。

        /etc/fstab 設定例

        /dev/sda2       /           ext2    defaults             1 1
        /dev/sda1       /boot       ext2    defaults             1 2
        /dev/sda3       /home       ext2    defaults,usrquota    0 0
        			
      2. QUOTA機能の開始

        次のコマンドによって、システムのQUOTA機能を有効にします。

        # /sbin/quotacheck -auvg ...現在のディスク使用量のチェック
        # /sbin/quotaon -a ...QUOTA機能の開始
      3. 制限値の設定

        ユーザ、グループに対して制限値を設定するときには、edquotaコマンドを使用します。edquotaコマンドを実行すると、viエディタが起動します。

        # /sbin/edquota user1
        Disk quotas for user user1 (uid 10028):
        Filesystem      blocks       soft       hard     inodes     soft     hard
        /dev/sda3            0          0          0          0        0        0
        		  
        表示されている値は次の意味を持っています。
        1. 現在のディスク使用量(ブロック数)
        2. ブロック数のソフトリミット
        3. ブロック数のハードリミット
        4. 現在のiノード使用数
        5. iノードのソフトリミット
        6. iノードのハードリミット数


        システム管理者は、ソフトリミットとハードリミットを設定することができます。 ユーザがソフトリミットを超過したままで、一定期間経過するとそれ以上ディスクを使用することができなくなります。また、ハードリミットを超過することはできません。

        次のように変更してから変更結果を保存し、エディタを終了します。
        Disk quotas for user user1 (uid 10028):
        Filesystem      blocks       soft       hard     inodes     soft     hard
        /dev/sda3            0       1024       2048         0      1024     2048
        		  
        ユーザやグループのディスク使用状況を確認するには、repquotaコマンドを使用します。
        # /sbin/repquota -a
        *** Report for user quotas on device /dev/sda3
        Block grace time: 7days; Inode grace time: 7days
                                Block limits                File limits
        User            used    soft    hard  grace    used  soft  hard  grace
        ----------------------------------------------------------------------
        user1     --       4    1024    2048              1  1024  2048       
        			  
      4. 制限値の超過

        ユーザが設定された制限値を超過すると、クライアント側に次のようなメッセージが表示されます。

        Fig9. 制限値超過時の表示

    4. ゲスト接続

      サービスセクションに"guest ok = Yes"のパラメータを追加しておくと、ゲストアカウントで共有サービスにアクセスすることができます。 このときにユーザは、nobodyユーザとして共有にアクセスすることができます。

Sambaはさらにさまざまな設定を行うことができます。さらなる詳細については、SWATからリンクされているドキュメントなどを参照してください。

■この資料の評価をお願いします。
とても参考になった
参考になった
どちらでもない
あまり参考にならなかった
まったく参考にならなかった

コメントがある場合は以下に記述してください。技術資料として取り上げてほしいテーマも受け付けています。

以下は任意です。

お名前(フルネーム) :
会社名 :
メールアドレス :
 

ページトップへ



テクノロジー情報
リナックス関連
イベント/セミナー資料
オラクル/DB関連
Samba関連
研修のご紹介
FAQ
インストレーションガイド
ソフトウェアダウンロード
実績のあるシステム構成

会社情報 採用情報 個人情報保護方針 情報セキュリティ基本方針 商標等取り扱い事項 English
Copyright(c)2000-2015 MIRACLE LINUX CORPORATION. All Rights Reserved.