Linux SAMBA Server (RAID1)の構築

元へ戻る


目 次

  1. LinuxのインストールとRAID1の構成
  2. GRUBブートローダの二重化
  3. RAIDパーティションのリカバリー
  4. SAMBAサーバの構築
  5. プライマリ・ドメイン・コントローラの構築
  6. その他の設定およびチューニング
このページのトップへ 元へ戻る

LinuxのインストールとRAID1の構成


    ドライブの構成

    IDEプライマリ・マスター及びセカンダリ・マスターに、 同容量のハードディスクをリムーバブルケースにてセットしているものとする。
    ただし、リカバリー作業時、どちらのハードディスクが損傷しても、 正常なハードディスクからブートできる(プライマリー、セカンダリーを入れ替えても) という前提を構成することとする。

    使用ディストリビューション

    現時点で最新の Red Hat Linux 9 を使用する。 また、RAID1は標準搭載のソフトウェアRAIDにて構成する。
    (メインメモリーが128MBなので、swapは256MBとることにする。)

    Linuxのインストール

  1. Linux installation CDをセットし、電源を入れます。
  2. 
     - To install or upgrade Red Hat Linux in graphical mode,
       press the <ENTER> key.
        
     - To install or upgrade Red Hat Linux in text mode, type:
       Linux text <ENTER>.
        
     - Use thefunction keys listed below for more information.
     
     
       [F1-Main][F2-Options][F3-General][F4-Kernel][F5-Rescue]
     boot: linux text_
    

  3. CDをチェックするかというダイアログが表示されます。 Linuxをダウンロードして、CD-Rに焼いた方はチェックした方がいいかも知れません。
  4. 
                            CD Found
    
             To begin testing the CD media before
             installation press OK.
     
             Choose Skip to skip the media test
             and start the installation.
     
                        [OK]         [Skip]
    

  5. インストール中の言語を聞いてきますので、適宜選んで下さい。また、キーボード・マウスもお使いのものを選択して下さい。
  6. インストールの種類を選択するダイアログでは「サーバ」を選びます。
  7. 「ディスクパーティションの設定」では[ Disk Druid ]を選択します。
  8. ここで、RAIDを構成することになります。

    ダイアログボックス内での基本操作
      [ ]内での選択・ボタンを押す :スペース・キー
      リストの選択           :カーソルキー(矢印キー)
      項目間(ボタン含む)の移動  :タブキー[Tab]

  9. [新規]ボタンを押して、パーティションの追加ダイアログを表示します。
    図のとおり、設定して下さい。 容量の100MBは、/boot に必要な容量です。 不良ブロックチェックは完璧を期すときだけで結構です。
  10. 
                        パーティションの追加
    
     マウントポイント:<利用不可>___________
     ファイル システム タイプ:           選択可能なドライブ:
     physical volume (LVM)  #              [*] hda  #
     software RAID                         [ ] hdc
     
     容量 (MB):  100____              (*) 固定容量:
                               ( ) 最大容量 (MB): 1____
                  ( ) 利用できるスペースをすべて利用:
                      [*]第一パーティションとして強制指定
                            [*]不良ブロックをチェック
     
                        [OK]         [取り消し]
    
  11. さらに、swap領域用に容量を256MB(適宜)にし、同様にパーティションを設定します。
  12. 次に、/ 用に残りの全領域を指定します。容量 1Mはそのままにして、「利用できるスペースをすべて利用」を選択します。
  13. 全く同じ処理をhdcに対しても行います。(6)~(8)

  14. ここまで準備できたら[RAID]を押して、hdaとhdcの各パーティションをミラーリングしRAID1を構成します。
  15. 図のとおり、設定して下さい。
    まず、hda1とhdc1の256MBをswap領域としてミラーリングします。従って、RAIDメンバーの項目はhda1とhdc1に[*]を残し、あとを消します。
  16. 
                          RAID デバイス作成
    
     マウントポイント:<利用不可>___________
     
     ファイル システム タイプ:     RAID レベル:
     physical volume (LVM)  #       RAID0
     swap                           RAID1
                                     RAID5
     RAID メンバー:         0__いくつのスペアを使いますか?
       [*] hda1 #  [*]パーティションをフォーマットしますか?
       [ ] hda2
                        [OK]         [取り消し]
    
  17. さらに、次の組合せで残り2つのパーティションもミラーリングします。
    Mount  File  RAID   Member
    --------------------------------
    /boot  ext3  raid1  hda2-hdc2
    /      ext3  raid1  hda3-hdc3
  18. 左図のようなパーティションテーブルが作成されます。hdaとhdcで少々容量に差がありますが、RAIDが少ないところ取りしているようで、 その後の実験でも問題は生じませんでした。
  19. 
                          パーティション設定
        デバイス   開始  終了  容量  タイプ マウント 
     RAID Device 0                  255M swap           
     RAID Device 1                   99M ext3     /boot
     RAID Device 2                37801M ext3     /
     /dev/hda
       自由領域         1      1       0M 自由領域
       /dev/hda1        1     13     101M ソフト
       /dev/hda2       14     46     258M ソフト
       /dev/hda3       47   4865   37801M ソフト
       自由領域      4866   4866       1M 自由領域
     /dev/hdc
       /dev/hdc1        1    203      99M ソフト
       /dev/hdc2      204    723     255M ソフト
       /dev/hdc3      724  78656   38849M ソフト
                [新規] [編集] [削除] [RAID] [OK] [戻る]
     
  20. [OK]を押して進みます。

  21. 次の「ブートローダの設定」では「GRUB」を選んで下さい。
  22. 「ブートローダの特別なオプション」は何も設定せず、[OK]します。
  23. 同様にパスワードも設定しません。

  24. 図のように、固定アドレスにするか、[*] bootp/dhcpにして下さい。
  25. 
                    eth0用のネットワークの設定
        ネットワークデバイスeth0
     
        [ ] bootp/dhcp を使用
        [*] 起動時にアクティブにする
    
        IP アドレス:              192.168.1.2_____
        ネットマスク:             255.255.255.0___
        デフォルトゲートウェイ(IP):      192.168.1.254___
        1番目のネームサーバ:          192.168.1.1_____
        2番目のネームサーバ:          ________________
        3番目のネームサーバ:          ________________
                        [OK]         [取り消し]
    

  26. ホスト名は適宜ですが、ここでは「Samba」とします。
  27. ファイヤーウォールの設定は、後でもできます。ここでは、(*)高 にして、[カスタマイズ]で、[*]eth0 としました。

  28. 言語・タイムゾーンを環境に合わせて設定します。
  29. パスワードを入力します。
  30. パッケージの選択ができますが、そのままでファイルサーバとしては必要最小限です。 インストールの開始を[OK]すると不良ブロックの検査をし、インストールが始まります。 終了までかなりの時間を要します。

このページのトップへ 元へ戻る

GRUBブートローダの二重化


    バッチテキストを作成する

    
     device (hd0) /dev/hda
     root (hd0,0)
     install /grub/stage1 (hd0,0) /grub/stage2 0x8000 (hd0,0) /grub/menu.lst
     install /grub/stage1 d (hd0) /grub/stage2 0x8000 (hd0,0) /grub/menu.lst
     setup (hd0)
    
     device (hd0) /dev/hdc
     root (hd0,0)
     install /grub/stage1 (hd0,0) /grub/stage2 0x8000 (hd0,0) /grub/menu.lst
     install /grub/stage1 d (hd0) /grub/stage2 0x8000 (hd0,0) /grub/menu.lst
     setup (hd0)
    
     quit
    

  1. エディタ(vi)で上図のようなテキストファイルを作成します。(ファイル名適宜)

    #vi raid1.grub ・・・・・viを使用して、ファイル名を「raid1.grub」としたとき。 このページのトップへ 元へ戻る

    バッチテキストを実行する


  2. 作成したテキストをgrubコマンドでバッチ処理します。 grub --no-floppy を実行して grub>プロンプトに、 上図のテキストファイルに記述したことを直接1行ずつ実行しても良い。
    この作業によって、grubブートローダがhdaとhdcに二重化され、例えばhdaのドライブを切り離した場合でも、又その逆でもOSが立ち上がります。
  3. 
     #grub --no-floppy --batch < raid1.grub
    
         GRUB  version 0.93  (640K lower / 3072K upper memory)
    
      [ Minimal BASH-like line editing is supported.  For the first word, TAB
        lists possible command completions.  Anywhere else TAB lists the possible
        completions of a device/filename.]
     grub> device (hd0) /dev/hda
     grub> root (hd0,0)
      Filesystem type is ext2fs, partition type 0xfd
     grub> install /grub/stage1 (hd0,0) /grub/stage2 0x8000 (hd0,0) /grub/menu.lst
     grub> install /grub/stage1 d (hd0) /grub/stage2 0x8000 (hd0,0) /grub/menu.lst
     grub> setup (hd0)
      Checking if "/boot/grub/stage1" exists... no
      Checking if "/grub/stage1" exists... yes
      Checking if "/grub/stage2" exists... yes
      Checking if "/grub/e2fs_stage1_5" exists... yes
      Running "embed /grub/e2fs_stage1_5 (hd0)"...  16 sectors are embedded.
     succeeded
      Running "install /grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/grub/stage2 /grub/grub.
     conf"... succeeded
     Done.
     grub> 
     grub> device (hd0) /dev/hdc
     grub> root (hd0,0)
      Filesystem type is ext2fs, partition type 0xfd
     grub> install /grub/stage1 (hd0,0) /grub/stage2 0x8000 (hd0,0) /grub/menu.lst
     grub> install /grub/stage1 d (hd0) /grub/stage2 0x8000 (hd0,0) /grub/menu.lst
     grub> setup (hd0)
      Checking if "/boot/grub/stage1" exists... no
      Checking if "/grub/stage1" exists... yes
      Checking if "/grub/stage2" exists... yes
      Checking if "/grub/e2fs_stage1_5" exists... yes
      Running "embed /grub/e2fs_stage1_5 (hd0)"...  16 sectors are embedded.
     succeeded
      Running "install /grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/grub/stage2 /grub/grub.
     conf"... succeeded
     Done.
     grub> 
     grub> quit
     # _
    

    このページのトップへ 元へ戻る

    テストをしよう


  4. shutdown -h now を実行し終了します。
  5. hda、hdcともに外し、hdcをhdaの場所にセットします。(hdcのみで立ち上げる)
  6. 電源を入れて、ブートローダでストップしなければOKです。 駄目な場合、grubの内容が分かればブートローダに手打ちして立ち上げるか、 ハードディスクの環境を元に戻して二重化をやり直して下さい。
  7. 無事立ち上がったら、rootでログインして、mdstatを確認して下さい。
  8. 
    # cat /proc/mdstat
    
    Personalities : [raid1] 
    read_ahead 1024 sectors
    md2 : active raid1 hda3[1]
          38708544 blocks [2/1] [_U]
          
    md0 : active raid1 hda2[1]
          262016 blocks [2/1] [_U]
          
    md1 : active raid1 hda1[1]
          102208 blocks [2/1] [_U]
          
    unused devices: <none>
    

  9. shutdown -h now を実行し終了します。
  10. hdcをセットします。(元hdaを空いてるセカンダリ・マスターに)
  11. 無事立ち上がったら、rootでログインして、mdstatを確認して下さい。
  12. 一度RAID1を壊していますから、状況は変わっていません。

    RAIDを元に戻すには、次章の「・RAID1を再構成する」から作業をして下さい。 (40GBのハードディスクで約1時間かかります。)

    その後、「sambaサーバの構築」へ進んで下さい。

このページのトップへ 元へ戻る

RAIDパーティションのリカバリー



    ドライブの構成

    プライマリ・マスター及びセカンダリ・マスターに、 同容量のハードディスクをリムーバブルケースにてセットしているものとする。
    ただし、このリカバリー作業はRAID構築時に、どちらのハードディスクが損傷しても、 正常なハードディスクからブートできるという前提を仕組んでいます。 その方法については、RAID構築編を参照して下さい。

    破損ディスクの交換

    プライマリ・マスターにセットした[hda]が破損したものとし、同容量またはそれ以上のハードディスクに交換。


    ハードディスクの交換

  1. 電源を入れます。
  2. rootでログインして、mdstatを確認します。(下図)

    アクティブなRAIDが[hdc]であり、2個のハードディスクの内1個しか作動していないことが分かります。

    [2/2] [UU] → [2/1] [U_]
    
     # cat /proc/mdstat
    
     Personalities : [raid1] 
     read_ahead 1024 sectors
     md2 : active raid1 hdc3[1]
           38708544 blocks [2/1] [U_]
          
     md0 : active raid1 hdc2[1]
           262016 blocks [2/1] [U_]
          
     md1 : active raid1 hdc1[1]
           102208 blocks [2/1] [U_]
          
     unused devices: <none>
    

  3. shutdown -h nowを実行してシャットダウンし、プライマリ・マスター[hda]を交換します。(ジャンパー設定に注意)
    この時、今までセカンダリ・マスターに接続していた[hdc]を[hda]としてプライマリに、 新品交換した[hda]を[hdc]として、セカンダリに接続します。
  4. 再度電源を入れてログインし、mdstatを確認します。アクティブなRAIDが[hda]になっています。
  5. 
     # cat /proc/mdstat
    
     Personalities : [raid1] 
     read_ahead 1024 sectors
     md2 : active raid1 hda3[1]
           38708544 blocks [2/1] [_U]
           
     md0 : active raid1 hda2[1]
           262016 blocks [2/1] [_U]
           
     md1 : active raid1 hda1[1]
           102208 blocks [2/1] [_U]
           
     unused devices: <none>
    

  6. fdiskで[hda]のパーティションを確認して、[Start][End]の値を控えます。 また、md0 → hdx2、md1 → hdx1、md2 → hdx3の関係もメモしておきましょう.
    当然のことながら[hdc]にはパーティションはありませんが確認してみて下さい。
    
     #fdisk /dev/hda -l
     
     Disk /dev/hda: 40.0 GB, 40016019456 bytes
     16 heads, 63 sectors/track, 77536 cylinders
     Units = cylinders of 1008 * 512 = 516096 bytes
    
        Device Boot    Start       End    Blocks   Id  System
     /dev/hda1             1       203    102280+  fd  Linux raid autodetect
     /dev/hda2           204       723    262080   fd  Linux raid autodetect
     /dev/hda3           724     77536  38713752   fd  Linux raid autodetect
    

    このページのトップへ 元へ戻る

    ・パーティションの設定

  7. 控えておいた[hda]のパーティション・サイズに従って、 (1~3)のパーティションを作成します。
  8.    

    第1パーティション[hdc1]の作成

    
     #fdisk /dev/hdc 
     
     Command (m for help): m
     Command action
        a   toggle a bootable flag
        b   edit bsd disklabel
        c   toggle the dos compatibility flag
        d   delete a partition
        l   list known partition types
        m   print this menu
        n   add a new partition
        o   create a new empty DOS partition table
        p   print the partition table
        q   quit without saving changes
        s   create a new empty Sun disklabel
        t   change a partition's system id
        u   change display/entry units
        v   verify the partition table
        w   write table to disk and exit
        x   extra functionality (experts only)
    
     Command (m for help): n
     Command action
        e   extended
        p   primary partition (1-4)
     p
     partition number (1-4): 1
     First cylinder (1-79656, default 1): 1
     Last cylinder or +size or +sizeM or +sizeK (1-79656,default 79656): 203
     
     Command (m for help): _
    

    第2パーティション[hdc2]の作成

    
     Command (m for help): n
     Command action
        e   extended
        p   primary partition (1-4)
     p
     partition number (1-4): 2
     First cylinder (204-79656, default 204): 204
     Last cylinder or +size or +sizeM or +sizeK (204-79656,default 79656): 723
     
     Command (m for help): _
    

    第3パーティション[hdc3]の作成

    
     Command (m for help): n
     Command action
        e   extended
        p   primary partition (1-4)
     p
     partition number (1-4): 3
     First cylinder (724-79656, default 724): 724
     Last cylinder or +size or +sizeM or +sizeK (724-79656,default 79656): 77536
     
     Command (m for help): _
    

    このページのトップへ 元へ戻る

    ・作成したパーティションをRAIDに参加できるようにする

  9. パーティション・テーブルを確認してみると、 下図のようにすべて Id が83、Systemが Linuxになっています。
  10. 
     Command (m for help): p
     Disk /dev/hdc: 41.1 GB, 41110142976 bytes
     16 heads, 63 sectors/track, 79656 cylinders
     Units = cylinders of 1008 * 512 = 516096 bytes
    
        Device Boot    Start       End    Blocks   Id  System
     /dev/hdc1             1       203    102280+  83  Linux
     /dev/hdc2           204       723    262080   83  Linux
     /dev/hdc3           724     77536  38713752   83  Linux
    
     Command (m for help): 
    

  11. これらの Id を、正常なパーティションと同じものに変更します。 hdc1、hdc2、hdc3ともにRAID[fd]となります。
    下図の作業を、1の時、2の時、3の時ともfdとし、3回繰り返します。
  12. 
     Command (m for help): t
     
     Partition number (1-4): 1
     Hex code (type L to list codes): fd
     Change system type of partition to fd (Linux raid autodetect)
     
     Command (m for help): _
    

  13. パーティション・テーブルを確認します。
  14. 
     Command (m for help): p
     Disk /dev/hdc: 41.1 GB, 41110142976 bytes
     16 heads, 63 sectors/track, 79656 cylinders
     Units = cylinders of 1008 * 512 = 516096 bytes
    
        Device Boot    Start       End    Blocks   Id  System
     /dev/hdc1             1       203    102280+  fd  Linux raid autodetect
     /dev/hdc2           204       723    262080   fd  Linux raid autodetect
     /dev/hdc3           724     77536  38713752   fd  Linux raid autodetect
    
     Command (m for help): 
    

  15. 作成したパーティション・テーブルを保存して終了します。
  16. 
     Command (m for help): w
     The partition table ha been altered!
     
     Colling ioctl() to re-read partition table.
     Syncing disks.
    

    このページのトップへ 元へ戻る

    ・RAID1を再構成する

  17. mdstatで、md0がhdc2、md1がhdc1、md2がhdc3であることを確認します。
  18. 次のコマンド入力し、各パーティションをRAIDに参加させます。
  19. 
     # raidhotadd /dev/md0 /dev/hdc2
     # raidhotadd /dev/md1 /dev/hdc1
     # raidhotadd /dev/md2 /dev/hdc3
     
     [追記]
     Fedora Core では
     # mdadm /dev/md0 --add /dev/hdc2
     # mdadm /dev/md1 --add /dev/hdc1
     # mdadm /dev/md2 --add /dev/hdc3
    

  20. mdstatをもう一度確認します。
    md0、md1はすでにRAIDが再構成され、[2/2] [UU]になっており、md2については、 7%リカバリー済みであと約1時間かかるという表示になっています。
    この回復作業中でも、サーバとしてアクセスは可能です。
  21. 
    #cat /proc/mdstat
    
     Personalities : [raid1]
     read_ahead 1024 sectors
     md2 : active raid1 hdc3[2] hda3[1]
           38708544 blocks [2/1] [_U]
           [=>...................]  recovery =  7.0% (2715972/38708544) finish=59.3mi
     n speed=10103K/sec
     md0 : active raid1 hdc2[0] hda2[1]
           262016 blocks [2/2] [UU]
     
     md1 : active raid1 hdc1[0] hda1[1]
           102208 blocks [2/2] [UU]
           
     unused devices: <none>
    

このページのトップへ 元へ戻る

SAMBAサーバの構築



    smb.confを編集する --日本語版Samba(日本語SWATバンドル)を導入したい方は後述--

  1. エディタ(vi)で下図のように主な部分について編集する。黄色表示の部分は、環境に合わせて編集した部分。あとは標準のままにしておく。
  2. 
     #vi /etc/samba/smb.conf
    
     [global]
        coding system = euc
        client code page = 932
    
        workgroup = MYGROUP 
    

  3. 最初の2行は必須です。Linuxでは「EUC」を、Windowsでは「Shift-JIS」を使用します。
  4. 他のWindowsマシンと同じワークグループ名を入力する。
  5. 
       server string = Samba Server
       hosts allow = 192.168.1. 192.168.2. 127.
    

  6. 接続するネットワークの設定  192.168.1.0/24と192.168.2.0/24と127.0.0.0ブロードキャストの意味
  7. 
       log file = /var/log/samba/%m.log
       max log size = 0
       security = user
       encrypt passwords = yes
       smb passwd file = /etc/samba/smbpasswd
    

  8. Windowsマシンに合わせて暗号化されたパスワードを使用する
  9. 
       unix password sync = Yes
       passwd program = /usr/bin/passwd %u
       passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*aut
    hentication*tokens*updated*successfully*
       pam password change = yes
       obey pam restrictions = yes
       socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
       dns proxy = no 
    
    [homes]
       comment = Home Directories
       browseable = no
       writable = yes
       valid users = %S
    

  10. ログインするユーザ名と同名のフォルダが自分専用フォルダとなる
  11. 
    [public]
       comment = Public Stuff
       path = /home/samba
       public = yes
       writable = yes
       printable = no
       write list = @group1
       force user = user1
    

  12. 「;」を外し[public]セクションを有効にする。「group1」のグループに属するユーザのみの共有フォルダ
  13. 追加した行の示す意味は、架空ユーザ user1を作成し group1 に所属させ、 他の同グループユーザが作成する、 フォルダ、ファイル等の所有権をすべて user1 にすることによって共有します。
    (ユーザ・グループの作成変更については後述)


  14. このページのトップへ 元へ戻る

    sambaサーバを有効にする

    
     #service smb start
     Starting SMB services:        [ OK ]
     Starting NMB services:        [ OK ]
    

  15. 編集したsmb.confの設定に従って、smbの機能を有効にするため、smbサービスを起動します。
    すでに起動している場合は、 service smb restart とし再起動します。
  16. 下図のように自動起動になっていない時は、次のようにして下さい。
    chkconfig smb on と入力。 もう一度、chkconfig --list を実行して[on]になっていることを確認しましょう。
  17. 
    #chkconfig --list
    
    kudzu          	0:off	1:off	2:off	3:on	4:on ・・・
    syslog         	0:off	1:off	2:on	3:on	4:on ・・・
                            (省略)
    smb            	0:off	1:off	2:off	3:off	4:off ・・
                            (省略)
    

    このページのトップへ 元へ戻る

    sambaパスワードを有効にする

  18. Samba用のパスワードファイルを作成します。 既存の/etc/passwdファイルから、Samba用パスワードファイルを作成する場合は、 次のコマンドを入力します。
  19. 
                cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
    
  20. rootだけが読み/書きを行えるよう、Sambaパスワードファイルのアクセス権を変更します。
  21. 
                chmod 600 /etc/samba/smbpasswd
    
  22. 各Sambaユーザーのパスワードを設定するには、 次のコマンドを使用します
    
                smbpasswd username
    
    この作業後に、useradd したユーザについては、smbpasswd -a username とする。


  23. このページのトップへ 元へ戻る

    アクセス権等の各種設定および関連コマンド

    
     #finger username               自分自身の場合、username は不要です。 /etc/passwdに格納
     #chfn username                 ユーザプロファイルの変更
     #groupmod -n newgroupname oldgroupname     グループ名の変更
    
    
     #mkdir /home/grouppath                 /home下にグループの共有フォルダを作成
     #groupadd groupname                    新しいグループを作成
     #chgrp groupname /home/grouppath       グループ用フォルダの所有権をグループに与える
     #chmod 770 /home/grouppath             所有者とグループにread/writeのアクセス権を設定
     #usermod -G groupname[,groupname2,groupname3] username     グループにユーザを追加
     #id username                           ユーザの所属を確認
     
     #useradd dummyuser                     架空のユーザを作る
     #usermod -G groupname dummyuser        そのユーザをグループに加る
     
     #useradd -s /bin/false username        実行権限の無いユーザの作成
     #useradd -d /dev/null username         ホームディレクトリの無いユーザの作成
     
     #userdel -r username                   ユーザの削除(-r:ホームディレクトリも削除)
    
    
     #vi /etc/samba/smb.conf
     
     [public]
        comment = Public Stuff
        path = /home/samba
        public = yes
        writable = yes
        printable = no
        write list = @groupname
        force user = dummyuser
    

  24. smb.conf のこのグループに関するセクションに、書き込みアクセス権をこのグループのみが持つよう設定します。
  25. さらに、このグループのどのユーザが作成したものに対しても、所有者が dummyuser になるよう設定します。 これにより、グループ全体で共有できるようになります。
  26. 
     #vi filename
     
     ;username:password:userID(uid):groupID(gid):Full Name:/home/username:/bin/bash
     testuser:test:1001:502:Test User san:/home/testuser:/bin/bash
     ・・・・・・・・・・・・・・・・・
     ・・・・・・・・・・・・・・・・・
     
     #newusers filename
    

    たくさんのユーザを追加するとき(上図)
    • 適当なファイルを作成します。
    • 内容は、図の書式のユーザリストです。パスワードはプレインテキスト、groupIDは /etc/group 参照)
    • newusersコマンドで、ユーザリストを適用します。

    このページのトップへ 元へ戻る

    ブラウザによる管理ツール(SWAT)の導入

  27. CD(3枚目)よりSWATをインストールします。
  28. 
     #rpm -ghU samba-swat-2.2.7a-7.9.0.i386.rpm
    
    
     #vi /etc/xinetd.d/swat
    
     # default: off
     # description: SWAT is the Samba Web Admin Tool. Use swat \
     #	       to configure your Samba server. To use SWAT, \
     #	       connect to port 901 with your favorite web browser.
     service swat
     {
        port		= 901
     	 socket_type	= stream
    	 wait 		= no
    	 only_from 	= 127.0.0.1
    	 only_from	= 192.168.1.
    	 user		= root
    	 server		= /usr/sbin/swat
    	 log_on_failure	+= USERID
    	 disable		= no
     }
    

  29. only_from は複数行指定可能なので、できるだけ範囲を絞って、安全を図るようにします。
    192.168.1. は、 192.168.1.1 ~ 192.168.1.254 までを許可するという意味です。
    192.168.1.10 192.168.1.11 の2台だけとすることもできます。
  30. disable = yes を「no」に変更します。
  31. 
     #vi /etc/hosts.allow
    
     # hosts.allow	This file describes the names of the hosts which are
     #		 allowed to use the local INET services, as decided
     #		 by the '/usr/sbin/tcpd' server.
     #
     swat: 192.168.1.
    

  32. 上図の1行を追加します。
  33. 
     #service xinetd restart
    

  34. Firewall Configurationツール「lokkit」を起動します。
  35. 
     #lokkit
    

  36. [Customize]を選択し、[Other ports]セクションに「swat:tcp」と記入します。

  37. このページのトップへ 元へ戻る

    SAMBA日本語版(SWAT日本語版バンドル)の導入

  38. インストール済みの標準SAMBAを確認します。
  39. 
     #rpm -qa | grep samba
     
     samba-2.2.7a-7.9.0
     redhat-config-samba-1.0.4-1
     samba-swat-2.2.7a-7.9.0
     samba-common-2.2.7a-7.9.0
     samba-client-2.2.7a-7.9.0
    

  40. 標準SAMBAを削除します。 samba-commonは、samba-2.2.7aとsamba-clientを削除した後でないと削除できません。
  41. 
     #rpm -e [確認した標準SAMBA]
    

  42. 日本語SAMBAをインストールします。 このパッケージはRed Hat 9向けです。
  43. 
     #rpm -ghU samba-2.2.8a.ja-2.rh9.i686.rpm         
    

    パッケージは、日本Sambaユーザ会 http://www.samba.gr.jp/project/samba-ja/ から入手可能です。

    smb.confの内容は更新されていますが、とりあえず前述の設定に合わせてシステムを回復し、 SWAT立ち上げについても全く同様に設定します。

このページのトップへ 元へ戻る

プライマリ・ドメイン・コントローラの構築



    smb.confの追加編集をする

  1. エディタで下図のように追加する。 あとの部分はSambaサーバとして稼働させた状況を維持しておく。
    
     #vi /etc/samba/smb.conf
    
     [global]
        coding system = euc
        client code page = 932
    
        workgroup = MYDOMAIN
        netbios name = SAMBA
        server string = Samba Server
        hosts allow = 192.168.1. 192.168.2. 127.
        log file = /var/log/samba/%m.log
        max log size = 0
        security = user
        encrypt passwords = yes
        
        os level = 64
        preferrd master = yes
        domain master = yes
        local master = yes
        domain logons = yes
        logon script = FileName         <------- [netlogon]オプション必須
        logon path = \\%N\%U\.profile   <-------「.」は隠しフォルダにするため
        logon drive = H:                <------- ログオンユーザのプライベートフォルダが
                                                 自動的に[h:]ドライブになる
                                                 
        add user script = /usr/sbin/useradd -d /dev/null -g 100 -s /bin/false -M %u
    

  2. 上図最終行は、クライアントマシンの認証アカウントを自動的に作成します。machine_name$ という「$」付きアカウントで、パスワードやホームディレクトリを持ちません。
  3. 次図は、logon script = FileName に対して必須です。
  4. 
     [NETLOGON]
        comment = Script for Domain Logon
        path = /ver/samba/netlogon
        browseable = no
    

    Windowsクライアントの参加

  5. Windows XP はローカルポリシーの変更が必要です。

    [コントロールパネル] → [管理ツール] → [ローカルセキュリティポリシー] → [ローカルポリシー] → [セキュリティオプション]
    [ドメイン メンバ:常にセキュリティ チャンネルのデータをデジタル的に暗号化 または署名する]

       [有効] → [無効]


このページのトップへ 元へ戻る

その他の設定およびチューニング



    PCのタイマーを標準時にあわせる

  1. 先ず、/etc/ntp.conf にエディタで下図のように追加する。

    セクション「OUR TIMESERVERS」のみ編集、もちろん他のサーバーでも良いし、IPアドレスでも良い。
  2. 
    # --- OUR TIMESERVERS ----- 
    # or remove the default restrict line 
    # Permit time synchronization with our time source, but do not
    # permit the source to query or modify the service on this system.
    
    # restrict mytrustedtimeserverip mask 255.255.255.255 nomodify notrap noquery
    # server mytrustedtimeserverip
     server ntp3.jst.mfeed.ad.jp
    

  3. 次に、CHKCONFIG で ntpd を[on]にします。
  4. 
    #chkconfig ntpd on
    
    #chkconfig --list
    
    kudzu          0:off	1:off	2:off	3:on	4:on ・・・
    syslog         0:off	1:off	2:on	3:on	4:on ・・・
                            (省略)
    ntpd           0:off	1:off	2:on	3:on	4:on ・・・
                            (省略)
    

End