Sambaの設定

ファイルサーバは要らないだろうと思っていたので今まで手をつけなかったが、DBアプリ開発の 効率を考えると、ファイルサーバがあったほうが便利だということに気が付いたので、設定する ことにした。

RedHat LinuxにはSambaのバージョン2.0.5a.12が入っている。日本語版だと思うのだが、 どうなんだろう。とにかく、サーバパッケージでインストールしていればSambaもインストール されているのだが、デフォルトの状態ではSambaサービスは動いていない。

Sambaの設定は次のように行う。


  1. 設定ファイルの編集

    Sambaの設定を行うには「smb.conf」という設定ファイルを編集する必要がある。
    これは「/etc」ディレクトリに格納されている。
    基本的な設定は次のとおり。(当然、rootで設定する)

    workgroup = gyoumu
    Windowsで使用するワークグループ名を設定する。普段業務ではgyoumuという ワークグループ名を使用しているため、クライアントからそのまま使えるように このワークグループ名を指定した。
    server string = rina
    コンピュータ名を指定する。これはWindowsのネットワークコンピュータに表示 されるコンピュータ名である。
  2. Linuxのユーザ情報をSambaに登録

    LinuxとSambaのユーザは、基本的には同じユーザ名で対応させて管理する。そのため、 Linuxのユーザ情報をSambaのユーザ情報にコピーすることにより、最初から作り直す 手間をなくす。登録方法は次の通り。

    # mksmbpasswd.sh < /etc/passwd > smbpasswd
    mksmbpasswd.shというコマンドに/etc/passwdというファイルを読み込ませ、 その結果を/etc/smbpasswdというファイルに書き込む。
    # chmod 600 /etc/smbpasswd
    /etc/smbpasswdファイルを他のユーザから見れなくする。

    Linuxユーザの情報がそのまま複写されるため、viで/etc/smbpasswdファイルを開き、 余分なユーザを削除する。

  3. Samba利用者のパスワードを登録

    SambaのユーザはLinuxのユーザ情報を複写した。これでLinuxとSambaを同じように扱えるが、 実際は2つのユーザを使っているわけだから、Sambaユーザのパスワードも設定しなければ ならない。設定方法は次のとおり。

    # smbpasswd ando
    New SMB password: ←パスワードを入力
    Retype new SMB passwd: ←同じパスワードをもう一度入力
    Password changed
    #

    ここで設定するパスワードは、Linuxと同じ物を利用したほうが便利だろう。

設定を変えたらSambaを起動する。

# /etc/rc.d/init.d/smb start

これで、クライアントからrinaという名前のコンピュータが使えるようになる。
当然、クライアントのワークグループはgyoumuに設定し、Sambaユーザでログイン しなければ使えない。

ログイン後、ネットワークコンピュータの中を見ると、Rinaというマシンが現れる。
開いてみると、自分のユーザ名のフォルダが現れる。これがLinux(Samba)ユーザのホーム ディレクトリである。

SambaサービスはApacheサービスなどのように、サーバ起動時に自動的に起動するよう設定するのが 一般的である。ところが、この状態では自動的には起動しないので、そのように設定を行う。
・・・と言いたいところだが、そのやり方が分かりませんでした。
とりあえず、/etc/rc.d/init.d/smbファイルを/etc/rc.d/rc3.c/ディレクトリに S35smbというファイル名でコピーして再起動したらSambaサービスが無事に起動した。
こんなやり方ではなく、もっとスマートなやり方があると思うんだけど・・・誰か教えて!!