PlamoLinuxとLibrettoでファイルサーバ

Librettoに大きなHDDを増設して、ファイルサーバとして使用してみましょう。
当然 samba を使用するので、Windowsのファイル共有としてのファイルサーバです。

Libretto20は内蔵HDDが標準で270Mと非常に小さく、ファイルサーバになんか到底できません。
ファイルサーバにするには内蔵HDDを換装するか、PCカード経由でHDDを増設するかが必要です。

内蔵の換装方法に関しては他のサイトにお任せします。 しかし、ちょっと気になることが。
リブレットの内蔵HDDは厚さ8.45mmというTOSHIBA製のちょっと特殊なハードディスクです。
一応は売っていますが、だんだん入手困難にあるようです。
さらに8.45mmの対応型番の中でもLロットと呼ばれるものは認識しないとか。

というわけで、私はPCカード型のIDEカードによる増設する道を選びました。
増設方法に関してはPCMCIA-IDEカード付き電源不要2.5HDD増設ケース HD530Pに書いておきました。(新しめのpcmcia-csなら対応済み)
この方法の場合、ネットワークカードとIDEカードとなるので、PCカードアダプタが必須です。
ルータとの併用はできませんし、I/Oアダプタでないので、プリンタが使えません。
プリンタ使えればsambaの機能でプリンタサーバにもなるんですけどね。
どうしてもっていうならば、内蔵の換装でしょう。
Libretto50以降くらいならパラレルポート(プリンタ)とPCカード2枚の併用ができたかも。


まずはここからsambaをダウンロードしてきましょう。

ダウンロードしてきたら早速makeします。(lib20で3時間、lib50で2時間くらいかかるかと)

# tar zxf samba-2.2.2-ja-1.1.tar.gz
# cd samba-2.2.2-ja-1.1/source
# ./configure --with-i18n-swat --with-smbmount   SWAT日本語対応のためのオプションとsmbmount
# make                       次に示すバックグラウンドでやったほうが良いと思う。
# make install
めちゃくちゃ遅いからバックグラウンドでやった方がいいかもしれません。
# make 2>&1 > make.log &
# tail -f make.log
やっぱりログは /var/log 配下に置く方がいいと思うんで、シンボリックリンクで調整。
# mkdir /var/log/samba
# cd /usr/local/samba
# rmdir var
# ln -s /var/log/samba var
自動起動設定をしておきましょう。
rc.M の中から rc.samba があれば実行されるようになってると思いますんで。
# vi /etc/rc.d/rc.samba
#!/bin/sh
/usr/local/samba/bin/smbd -D
/usr/local/samba/bin/nmbd -D
# chmod 755 /etc/rc.d/rc.samba
sambaの設定はブラウザを使ってちょちょちょってできるんです。便利ですね。
それがSWAT(Samba Web Administratio Tool)といいます。 そのための設定をまずやります。
# vi /etc/services
以下を追加する。
swat            901/tcp         # Samba Web Administration Tool
# vi /etc/inetd.conf 以下を追加する。
swat stream tcp nowait.400 root /usr/local/samba/bin/swat swat
設定を反映する。
# kill -HUP inetdのPID
とりあえずユーザをsambaに設定します。移行ツールがあるのでそれを使います。
# cd samba-2.0.7-ja-2.1/source/script
# cat /etc/passwd | sh mksmbpasswd.sh > /usr/local/samba/private/smbpasswd
# chown -R root /usr/local/samba/private
# chmod 500 /usr/local/samba/private
# chmod 600 /usr/local/samba/private/smbpasswd
# vi /usr/local/samba/private/smbpasswd
いらんユーザ全部消しておきましょう。気持ち悪いんで。


SWATからsambaを設定する。
URLは、http://192.168.0.xxx:901/ という風になります。
ネットワークにつながった他のマシンからでもいいです。
ブラウザにプロバイダのproxy設定されているとつながらないので注意です。
プロキシ除外アドレスに追加しておきましょう。

ユーザ認証が出るんで、"root"とパスワードをいれましょう。

トップ画面に「Windows98 , Windows NT4.0 , Windows2000 での注意事項」というのがあるので、まず読みましょう。
とりあえず暗号化パスとしてsamba側の対応策の方法で話を進めます。
(ってもうすでにsmbpasswd作ったりと作業先にやっちゃってます)

設定はこんな感じでどうでしょうか。先に下のようなファイルを作っちゃった方が早いかもね。

/usr/local/samba/lib/smb.conf
[global]
	netbios name = マシン名
	server string = コメント
	coding system = euc
	client code page = 932
	security = SHARE
	encrypt passwords = Yes
	update encrypted = Yes
	username map = /usr/local/samba/lib/users.map
	create mask = 644
	os level = 0
	local master = No
	hosts allow = 192.168.0.0/255.255.255.0

[common]
	comment = 共有ディレクトリ
	path = /home2/common/
	writeable = Yes
	guest only = Yes
	guest ok = Yes

[homes]
	path = /home2/%S/
	writeable = Yes
	browseable = No
"hosts allow"で、とりあえず変なところからアクセスされても使えないようにしてます。
commonってのが、UNIXにユーザが無くても誰でも読み書きができる共有。
homesってのは特別なセクションで、UNIXユーザ名に置き換わります。
Windowsからみると、homesっていうフォルダではなく、UNIXユーザ名のフォルダになります。
他人には見えませんし、パスワードが必要です。
coding systemとclient code page指定で、samba上はSJISファイル名でも、ファイルシステム上はEUC。

UNIXとWindowsでログイン名が違う場合にはユーザ名の変換が必要です。
それが "username map" という項目で、そこのファイルを編集します。(最初は無いので新規作成)

# vi /usr/local/samba/lib/users.map
# users.map
root = administrator
左側がUNIXユーザ名、右側がWindowsログオン名。右側はスペースで区切って複数記述することができます。
複数行書くことができます。
変換された結果が、また変換の対象(次行の右辺)とかいう書き方もできます。
右辺に * をつけるとワイルドカードです。
左辺の頭に ! をつけると、そこで変換が確定します。ワイルドカード使ってるときとかは重要。


で、共有使うユーザのパスワード設定を。
# /usr/local/samba/bin/smbpasswd ユーザ名


とりあえずこんな感じでファイルサーバになりました。
細かいことはSWATから解説とかがいっぱいあるので各自で調査してください。


戻る