Sambaの設定

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

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

1.前準備

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

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

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

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

# smbpasswd ando

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

#

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

2.Sambaの起動

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

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

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

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

3.自動起動の設定

SambaサービスはApacheサービスなどのように、サーバ起動時に自動的に起動するよう設定するのが一般的である。ところが、この状態では自動的には起動しないので、そのように設定を行う。
・・・と言いたいところだが、そのやり方が分かりませんでした。
とりあえず、/etc/rc.d/init.d/smbのリンクを/etc/rc.d/rc3.c/ディレクトリに作成し、再起動したらSambaサービスが無事に起動した。

# ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc3.d/S35smb

こんなやり方ではなく、もっとスマートなやり方があると思うんだけど・・・誰か教えて!!


[ TOP ]