samba でファイルサーバー構築


あまりにもありきたりな内容ですが、お約束ですので.....。ちょっと前にPlamo Linux 2.2 上でファイルサーバーを新規構築した記録の要約です。

きょうび Win の存在しない LAN なんてほとんど見つかりませんやね。そこでかの有名な samba です。おそらくこのプロジェクトは最も巨大なものの一つでしょう。いやースゴイもんです(感心してないで手伝え!って.....はは...)。


■ samba のインストール ■

日本語環境に特化した samba 周りは、日本sambaユーザ会が中心になって動いています。ここからダウンロードしましょう。フツー bzip された .tar.bz2 を落としてきますが、やんごとなき理由で bzcat できないヒトは .tar.gz もあります。あ、rpm やらなヒトは参考になりません。ソースからコンパイルする場合について書きます。

毎度おなじみの /usr/local/src に放り込んだら

# cd /usr/local/src
# bzcat samba-2.0.10-ja-1.0.tar.bz2 | tar xvf -
# cd samba-2.0.10-ja-1.0


で、まあ、ざっとドキュメントを見ましょう。少なくとも読むフリだけはしましょう。英語のヤツもなんとなく見ましょう。偉くなった気がします。

では、やりますか。おや? configure がありませんね。samba のコンパイルは ./source に入って行うのです。
./configure のオプションはお好みでつけてください。セキュアな環境を追求するなら有用なものがいくつかあります。ただし、オプション指定はよく調べてからにしないと、動かない場合があるので注意。Makefile いじったりするのも必要ならばご自由に。とりあえず説明では全くノーマルでいきます。

# cd source
# ./configure
# make
# make install

うちのマシンは i486 とか i586 ばっかなので(泣)、ここでヒルネができます。まさに泣き寝入りですな、はは。さて、これが終わった時点でどうなっているかというと

/usr/local/samba というディレクトリが出来て、こん中にいろいろ入ってます。夢ではありません(笑)。

さてと、どっちかつーとこれからが本番です。ごくごく基本の設定をします。swat は使いませんよ。

まずはユーザー設定しましょう。

# cd script

ここには samba 関連のいろんなスクリプトがあるのです。ここまで読んでこられた方は初めてのインストールでしょうから、バージョンアップの場合は省略。新規にパスワードファイルを作る方法を書きます。さくっと作ってくれるスクリプトがあります。mksmbpasswd.sh です。実行属性がついてませんね、なぜでしょう? ま、いいか。パスワードファイルの場所は勝手ですが、 /usr/local/samba/private/smbpasswd にしときます(デフォルト)。まあ smb.conf で設定すればよいのです。

# mkdir /usr/local/samba/private
# chmod 700 /usr/local/samba/private
# . ./mksmbpasswd.sh < /etc/passwd > /usr/local/samba/private/smbpasswd
# chmod 600 /usr/local/samba/private/smbpasswd


で、すべてのユーザー情報が samba 用に変換されました。ファイルをエディタで開いて(cat hoge | grep hogege でリダイレクトしてもよいが)不必要な(大半かも)ユーザーを消します。パスワードを変更したいときは /usr/local/samba/bin/smbpasswd を使用します(使い方 : smbpasswd -e user)。認証が通らなかったりしたときはうまく変換できてなかったり、いろいろあると思うのでこれで作り直せばよいでしょう。

やっとこさ .conf の設定ですが、本トーはキモはここです。でもここは完全にヒトの勝手なので、とりあえず動く所までしか書きません。意外とハマるのは置き場です。 /etc に置きたいところですが、/usr/local/samba/lib に無いと、smbpasswd とかを使うときに怒られます。仕方ないのでここに置いときましょう。 /etc にはシンボリックリンクを置きましょう。別に /etc になくてもどうにでもなるのですが、見つけやすいのでそうします。趣味の問題ですな。

# cp /usr/local/src/samba-2.0.10-ja-1.0/examples/smb.conf.default /usr/local/samba/lib/smb.conf
# ln -s /usr/local/samba/lib/smb.conf /etc/smb.conf


★いちいちパス書いてますが、!$ とか使って楽してね。あとサンプルには日本語版もあるけどわしは使わ(え)ないのです、スマン。

で、エディタで /etc/smb.conf を開いて暗号化パスワードを有効にします。これはウチのクライアントが Windows NT4.0 ばっかだからですが(追記: その後 Me も入りましたが、大丈夫なようです(2001/10/27))、そうでない場合は有効にしないか、多少の細工が必要なことがあります。

[global]
security = user
encrypt passwords = yes <-- ココ


で起動すれば、とりあえず動く可能性は大です。アブノーマルなことしてなければね。ありがちなのは Win のユーザー名が サーバーホストで使われてない場合とか?そんときは smbusers を作成して、smb.conf でパスを教えて、security = share とかする。もう疲れたので細かいことは省略。ふう。

/usr/local/samba/bin/smbd -D
/usr/local/samba/bin/nmbd -D

で起動。うまく動かないときはログを見てみる。特にいじってなければ

/usr/local/samba/var/log.smb
/usr/local/samba/var/log.nmb

ですな。



トップページ