SambaをSolarisにインストールする

sambaとは?

 sambaとは,最近流行のwindows系のOSのネットワークであるMS-network(NetBIOS)をUNIXでも使えるようにするソフトです.Andrew Tridgellさんが開発しました.オリジナルの配布元のページはこちらです.ただしこれは日本のあちこちに転載されているので,近くのサイトを探して持ってきた方が早いです.
 最近は例のWinodws95フィーヴァーに伴い,network上や雑誌で取り上げられることが多く,そこでかなり詳しい説明がされています.それらはJapanized Samba page「Samba 関係の書籍と記事」に紹介されています.

 sambaは最近のソフトですから,別項のCAPとは違い,ここで問題としているSolarisにもきちんと対応しています.よって上記のような記事を参考にすればここで説明するようなことは特にありません.
 しかしそれだけでは終わるのもなんですから,Netnews等でよく見かけたはまりやすい箇所や,実際の運用上の工夫(特にsmb.confに関して)などを主に説明していきたいと思います.

 また技術評論社『Software Design』誌という雑誌の1999年2月号に私の書いた「SolarisでWindows PC LANを構築する〜Sambaの導入」という記事が載りました(p.139-147)ので,そのHTML版も参照にしてください.

インストール

ファイル名の漢字コード

 Solarisで使うのであれば,"This is for SUNOS5 (also known as Solaris 2)"と書かれている部分のFLAGSMとLIBSMをコメントアウトします.ここで,漢字のファイル名が使いたいのであれば,FLAGSMに「-DKANJI=¥"cap¥"」と付け加えます.これはCAP互換ということです.またCAPと同様の機能を持つnetatalkも,CAPと同じコーディング方法のようなので,netatalkでもこの設定でいけます(注*)
 しかしながらこの設定ではSolaris上からは記号の羅列にしか見えません.「-DKANJI=¥"euc¥"」とすればSolarisとWinからは読めますが,今度はCAPからは保証できません.またこのeucやsjisやjisの設定では,ファイル名の大文字<->小文字変換の影響でファイル名がばけてしまう可能性があります(注**)
 そんなわけで漢字ファイル名を使わないのが一番いいと思いますが,どうしても使いたいというのであれば,(そう言う人は多分UNIX上で使わないのでしょうから)hexやcapにしておくのがいいでしょう.

smb.conf

 次は設定です.samba/lib/smb.confで設定します.これは話すと長いので,先に挙げた参考文献を参照にしてください.

 とりあえず私が使っているsmb.confの例を挙げます.このとおりにすれば,それぞれのユ−ザのホ−ムディレクトリとプリンタが一通り共有出来るようになります.その例はこちらです.

smb.confの小技集


(注*) この設定は1.9.18から不要になりました.その代わりにsmb.confで指定します.

client code page=932
coding system = cap
client code pageは日本語を使うという設定で,日本語のコードをcoding systemで設定します.キーワードは上記のとおりです.

以前はこの部分に「当方で使っているnetatalkとの互換性は多少怪しいです」と書いていましたが,先日fjでその話をするとトラブルにあったという人が私以外におらず,また私自身の設定ミスの可能性も指摘されたので,訂正しました.
 また当方は現在はnetatalkからCAPへ変更しており,確認をとれないという事情もあります.

(注**)Netnewsでは「内田由紀」というファイル名が「内田羊喫」になってしまったという例が出ていました.


From: ishidou@jpn.hp.com (Masaki Ishido)
Newsgroups: fj.os.windows-nt
Subject: Re: サンバについて
Date: 9 Aug 1996 12:11:16 GMT
Message-ID: <4uf9t4$6qh@hpujjpo.jpn.hp.com>
によると
--ここから--

原因は、おそらく、大文字←→小文字変換が悪さをしてるのではないか、
とおもいます。

「由紀」の文字コードは、SJIS で
$ echo '由紀' | od -xc
0000000    9752    8b49    0a00
        227   R 213   I  ¥n
0000005

「羊喫」の文字コードは
$ echo '羊喫' | od -xc
0000000    9772    8b69    0a00
        227   r 213   i  ¥n
0000005

つぅことで、2バイト文字の2バイト目が、見事大文字→小文字変換
されてます (^^;;
---ここまで---


色々技術メモページに戻る
石田 翼のホームページに戻る

ISHIDA Tsubasa <tbs-i@mtg.biglobe.ne.jp>
Last modified: Wed Jun 07 22:14:49 JST 2000