samba for solaris ver 1.0

 

1. Sambaとは
Sambaについて書いてます

1.1 Sambaとは
1.2 Sambaの機能

2. 準備
インストール先や、GUI設定ツールのSWATのこと

2.1 パスワードの暗号化について
2.2 Sambaの設定ファイル
2.3 Sambaのインストール先
2.4 SWATについて

3. Sambaの設定(ユーザー登録編)
すでにSambaが導入されていて、ファイルをWindowsで共有化したい場合はここから読んでください。

3.1 サーバー(Solaris)側での設定
3.2 クライアント(Windows)ですること

4. Sambaの設定(共有ディレクトリ作成編)
UNIXの上のファイルを、どの場所をどのように共有化するのか。その設定の仕方を3種類説明しています。

4.1 ユーザーのホームディレクトリを共有する (/export/home/username)
4.2 読み取り専用のディレクトリを共有する (/tmp)
4.3 読み書き出来るディレクトリを共有する (/testdirectory)
4.4 smbdを再起動する(設定を変えたらリロードする)

(注:このHPは奥村研のSolarisにSambaの設定が出来るように書いたページです。参考になるかもしれないし、ならないかもしれませぬ。読む順番としては、3と4は逆かも)

1. Sambaとは

1.1 Sambaとは

SambaとはUNIX互換OSで動くファイルサーバ、プリントサーバです。 普通にWindowsからネットワークの設定を行い、ネットワークコンピュータを開いてもUNIXのホスト名は表示されません。 そこで、UNIXとWindowsとの間でファイルやプリンタの共有を行うのがSambaです。SambaはGPLに基づいたフリーソフトウェアです。

これを導入すると、Windows同士でファイルの共有をするように、UNIX上のファイルも同じように使えるようになります。 ファイルは堅牢なUNIXのファイルシステムに置かれるので、不安定なOSにファイルを置くよりずっと安心できるでしょう。

WindowsNTにはUNIXやMacとファイルの共有化を行うソフトがあるようですが、設定できるクライアント数が限られているらしい。WindowsNTは使ったこと無いからよく分かんないけど、値段が高そう。


1.2 Sambaの機能

UNIXのホストをファイルサーバーとして動作させ、WindowsからUNIXのファイルシステム、プリンタに直接アクセス出来るのです。

UNIXファイルシステムは、Windowsのネットワークコンピュータを使ってローカルドライブとして表示されるため、ユーザーはUNIXのファイルシステムをあまり意識することなく利用する事が出来ます。

他にもUNIXに接続するにはFTPを使う方法もあります。しかし、この方法だとUNIX上のファイルを直接利用することが出来ないので、リモートからホストへコピーしなければなりません。ファイルを編集し終わったら元のUNIXにファイルを戻す形です。

Windowsに接続しているプリンタをUNIX側から利用する事も出来るようです。(プリンタ関係についてはここでは説明していません。)

ちなみにNetatalkというフリーソフトもあって、これはUNIXとMacを共有化する事が出来るそうです。これを使えば、Samba、Netatalkの2つを入れたUNIXを経由してWindowsとMacを共有する事も出来ます。UNIXとWindowsとMacを持っている方はぜひやってみてください。

 

 

2.準備

Sambaの設定を始める前に、Windowsでファイルの共有化が出来ている状態にしておきます。具体的な設定方法は省きますが、Windows間ですでにファイルの共有化が出来ているなら大丈夫です。
コンピュータ名はWindowsパソコンのホスト名を、ワークグループ名は「okumura」、とし、共に半角英数字で入力します。

2.1 パスワードの暗号化について

Windows 95 OSR2以降のWindowsではユーザー認証に使われるパスワードに独自の暗号化を用いています。それに対してSambaでは平文パスワードを用いているので、このままでは共有フォルダにアクセスできません。
そこでこれを解決するには2つの方法があります。

1、Windowsのレジストリを書き換えて平文パスワードを使用する。

2、smbpasswdに符号化したパスワードを登録して暗号化パスワードを使用する。

ここでは、後者の暗号パスワードを使用する設定をしています。この方がSWATを使って簡単に設定が出来るからです。しかし平文パスワードを使用するとネットワークを経由する時にもれる可能性があります。


2.2 Sambaの設定ファイル

Solarisでは/usr/local/samba/以下のディレクトリにこれらのファイルが入っています。

smb.conf

smbpasswd

smbusers

lmhosts

codepages/

UNIX系OSがWindowsとファイル・プリンタを共有するためのSambaの設定ファイルがこれらです。

そしてSambaの動作を操作するのが smb.conf です。このファイルに共有するディレクトリやプリンタの設定を記述してSambaの設定をします。smb.confのサンプル(smb.conf.sample)をここに載せておきます。
奥村研(2001年2月現在)のsmb.confをここにバックアップしておきました。
これはファイルの共有の設定だけを行いました。

smbpasswdは、Sambaを利用するユーザー名と符号化したパスワードが記述されています。またsmbusersは、UNIXのユーザー名とSambaのユーザー名を対応付ける設定ファイルです。

lmhostsはSambaがNetBIOS(Windowsネットワークでのホスト名)の解決に利用するホスト名、IPアドレスの定義ファイルです。

codepageディレクトリには、各国語に対応するコードページのデータが格納されます。


2.3 Sambaのインストール先

smb.confがどこにあるのか分からないときは検索コマンドを使って

%find / -name smb.conf

などと入力して調べてみてください。UNIXごとにインストール先が違うことがあります。

奥村研のSolarisの場合、以下の場所にSambaがインストールされていることが分かりました。

/usr/local/samba/lib/smb.conf

/usr/local/samba/private/smbpasswd

sambaディレクトリに置いてある smb.conf.sample は smb.conf の雛型です。 これを書き直してsmb.confを作りました。

smb.confはテキストファイルなので、emacsなどのエディターを使って編集します。またSWATというGUI設定ツールを使って編集することもできます。


2.4 SWATについて

またsmb.confの書き方が分からなくても、SWATと呼ばれるGUIプログラムを使って、WWWブラウザ上でsmb.confを編集することが出来ます。

このページではSWATを使って設定する方法を説明しています。

注意:
Netscapeにはバグの問題があり、Sambaと同じマシン上でSWATの設定を行うと、smb.confが壊れる可能性があります。(もしかしたらLinuxだけかもしれませんが、この辺は未確認です)
この場合はネットワークに接続された他のPC上からアクセスしてください。

SWATを起動するには、同じネットワークに接続されているPCのNetscapeなどから

http://localhost:901/

または
http://<ホストのIPアドレス>:901/

と入力します。

これで、ホストのポートナンバー901に当てはめられたものを呼び出すことが出来ます。通常、この番号にはSWATが当てはめられています。
SWATが起動するとID、パスワードを聞かれるので、ここではrootでアクセスしてください。すると図1(下図)のようにページが表示されます。

注:ユーザーアカウントを使ってもSWATにアクセスできますが、その場合はドキュメントの参照や、パスワードの変更程度にしてください。

 

図1、SWATのスクリーンショット
(TurboLinuxWorkstation6.0 FTP版 Gnome + sawfish, Netscape4.74 )

 

3.Sambaの設定(ユーザー登録編)

ここではSolaris側の設定とWindowsの設定を行います。

3.1 サーバー(Solaris)側での設定

始めはサーバー(Solaris)側にユーザー登録をしなくてはいけません。Solarisのユーザーでなくては、クライアント(Windows)からサーバーに繋げることが出来ないのです。

 

--- ユーザー登録 ---

ユーザー登録の仕方はSolarisならルートでログインし、コマンドで

# admintool &

とか入力することでX Windowのアプリケーションが動きます。
ほかには、

# useradd <ユーザ名>

# passwd <ユーザ名>

と入力することでもユーザー登録が出来ます。そのときにパスワードの設定もしてください。

 

次にSambaのGUI設定ツールであるSWATを起動します。例えば、隣の(Windows)パソコンのWWWブラウザから

http://<Solarisホスト名>:901/

http://okumura:901/ (奥村研の場合)

と入力して、SWATを起動してください。うまく出来るとウインドウが出てきて、ユーザ名とパスワードを聞かれます。ここでは必ずSolarisのrootで入力してください。

ここからはSWATの操作です。

WWWブラウザの中に見えるPASSWDというアイコンをクリックしてください。ここでは、先ほど登録したユーザー名、ユーザ登録したときのパスワードを入力します。
STATUSをクリックしてsambd(Sambaデーモン)をRestartをクリックします。
(図1、SWATのスクリーンショット)

以上でSambaにあなたのユーザーは登録されました。あとはWindowsで確認するだけです。


3.2 クライアント(Windows)ですること

Windows98では、スタートを押して【<ユーザ名>のログオフ】を押してください。しばらくするとWindowsのログイン画面が出てくるので、Solarisで登録したユーザ名を入力してください。ここでのパスワードはWindowsにログインするためのパスワードです。

ログインしたら、ネットワークコンピュータをクリックして、SUNのコンピュータのアイコンを発見したら成功です。あとは、Windowsのファイルの共有化と同じように使えます。パソコンを使っている席からしばらく離れるときは、Windowsをログアウトしておきましょう。これはUNIXのファイルに接続したままの状態だとセキュリティ的に不安だからです。

 

4.Sambaの設定(共有ディレクトリ作成編)

ここでは共有ディレクトリを作成するために必要なsmb.confの書き方を説明します。ここに現在のsmb.confをおいておきます。

次に共有ディレクトリの書き方を説明します。ここではSWATを使わずに、Emacsなどのエディターを使って編集する方法を書いています。

 

4.1 ユーザーのホームディレクトリを共有する (/export/home/username)

自分のユーザーアカウントのホームディレクトリをWindows側とで共有します。この設定をすると、ホームディレクトリがそのまま表示されます。他のユーザーのホームディレクトリは見れません。

[homes]

comment = %U's Home directory

read only = No

browseable = No

 

 

 


4.2 読み取り専用のディレクトリを共有する (/tmp)

UNIXアカウントを持っているユーザーに同一ディレクトリ内で読みのみを共有する。 [ ] でくくった文字が共有ディレクトリ名として表示されます。

[tmp]

path = /tmp

# Windowsに操作させるLinux上のディレクトリを指定してください。

comment = tmp /read only directory

# ウインドウに表示させるコメントです。ここでは読み込みだけの注意書きを表示している

guest ok = Yes

// 接続しているユーザーはゲストアカウントになる

smb.confの中での行頭の#はコメントアウトです。プログラムはこの行を無視します。

この設定ではたった3行を入力するだけでOKです。 Windowsから読み取りできるように /tmp のパーティションを変更しておいてください。( /tmp なので特にいじってなければ大丈夫だと思います。)

 


4.3 読み書き出来るディレクトリを共有する (/testdirectory)

UNIXアカウントを持っているユーザーに同一ディレクトリ内で読み書きを共有します。 [ ] でくくった文字が共有ディレクトリ名として表示されます。実際に共有しているディレクトリは /testdirectory です。

[test]

path = /testdirectory

#必ず設定します。Windowsに操作させるLinux上のディレクトリを指定してください。

comment = test sampledirectory

#ウインドウに表示させるコメントです

public = Yes

#パスワードで区別しない場合にこのように設定します

writable = Yes

#フルアクセスにする場合、このように設定します

username = %S

read only = No

# 読み込みだけは不可

smb.confの中での行頭の#はコメントアウトです。プログラムはこの行を無視します。

とりあえず/testdirectory のパーミッションは777にしました。

# chmod 777 /testdirectory

 


4.4 smbdを再起動する

以上の共有ディレクトリの設定を終えたら、編集した /etc/smb.conf を保存してsmbdを再起動します。

ブラウザでhttp://localhost:901/と入力、SWATを起動してそこでsmbdの再起動をしてください。

コマンドsmbdを再起動する方法は

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

これはシェルスクリプトなのでほかにもコマンドがあります。それらの詳しい使い方はソースで見てください。(stop , start , status など)

以上でSambaの設定は終わりです。
WindowsのネットワークコンピュータからUNIXのファイルと覗いてみてください。
快適なUNIX-Windwos間のファイルの共有化が出来ます。

いろいろ入れてるとそのうちディスク容量は満杯になってしまいます。最大の容量はディレクトリごとに違うので (/export とか /usrとか)注意してください。


 このページは、Hirokazu Ariiが奥村研のSun Workstation (Solaris2.6)にSambaの設定をするために1から調べまくって、それっぽくまとめた文章です。Sambaは他にもファイルの容量を制限したり、プリンターの共有が出来たり細かい設定があります。

多くのLinuxディストリビューションでは、OSのインストール時にSambaはインストールされていると思います。しかし、ネットワーク上のセキュリティを高めるためには、公式ページなどで最新情報をチェックすることが必要です。

このページの文書はhttp://homepage1.nifty.com/soitsu/samba/samba.htmに置いてあります。ご意見ご感想は以下のアドレスまで

 

2000年11月25日

Hirokazu Arii [xxxxxx@nifty.ne.jp]

<参考>
UNIX USER (2000年12月号)
日本Sambaユーザ会 http://www.samba.gr.jp/
SMB HOWTO http://www.linux.or.jp/JF/JFdocs/SMB-HOWTO.html
EnjoyLinux http://pcweb.mycom.co.jp/column/linux.html