ファイルサーバは要らないだろうと思っていたので今まで手をつけなかったが、DBアプリ開発の効率を考えると、ファイルサーバがあったほうが便利だということに気が付いたので、設定することにした。
RedHat Linux 6.1には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 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/ディレクトリに作成し、再起動したらSambaサービスが無事に起動した。
# ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc3.d/S35smb こんなやり方ではなく、もっとスマートなやり方があると思うんだけど・・・誰か教えて!!