[ Samba のインストール ]    [FreeBSDページに戻る]  [HOMEに戻る]

samba は、Windows 95/98 や NT 等とのファイル共有を提供するサービスです。
詳細は、http://samba.bento.ad.jp/ を参照してください。


[01] samba の入手

FreeBSD の CD-ROM をお持ちの人は、/packages/All にある samba-1.9.18.10.tgz
などを使用しますので、フォルダ( /usr/local/packages )を作って、そこへ入れて
おきます。

無い場合は、ftp.freebsd.org/pub/FreeBSD/packages-2.2.8 等から最新の samba-?.?.?
をダウンロードして、ローカルのフォルダへ持ってくる。

[02] samba のインストール

スーパーユーザー(su)となって、samba-1.9.18.10.tgz のあるディレクトリへ移り
% pkg_add ja-samba-1.9.18.10.tgz
とすると、勝手にインストールしてくれます。

[03] smb.conf の作成

/usr/local/etc に smb.conf.default ができていますので、これを smb.conf にコピー
しておきます。 % cp /usr/local/etc/smb.conf.default smb.conf

コピーした smb.conf をエディタで開き、以下のように変更します。

(例)
[global]
   workgroup = WORKGROUP                                      # ドメイン名
   server string = Samba %v (file server)                     # コメント
   hosts allow = 172.16.94. 172.16.43. 172.16.49.             # 許可サブネット
   log file = /usr/local/etc/samba/log.%m                     #
   max log size = 1024                                        #
   security = user                                            #
   password level = 8                                         #
   socket options = TCP_NODELAY                               #
   interfaces = 172.16.94.201/24                              # このマシンのIP
   remote announce = 172.16.94.255/WORKGROUP                  # ブロードキャスト
   local master = no                                          #
   os level = 33                                              #
   domain master = no                                         #
   preferred master = no                                      #
   wins support = yes                                         # WINS とする場合
   dns proxy = no                                             #
   preserve case = yes                                        #
   short preserve case = yes                                  #
   default case = lower                                       #
   client code page=932                                       # 日本語表示のため
   coding system=cap                                          #       〃
;   coding system = sjis                                      #
   lock directory = /usr/local/etc/samba/locks                #
   hide dot files = yes                                       # 特殊ファイル非表示
   browseable = yes                                           #
   guest account = nobody                                     #
   status = yes                                               #
   smbrun = /usr/local/bin/smbrun                             #
   username map = /usr/local/etc/usermap                      # 
   
[homes]
    comment = Home Directories
    browseable = no
    guest ok = no
    read only = no
    create mode = 0775 

[html]                          # ここは、共有させたいディレクトリの名称
   comment = HomePage Data      # 表示させるコメント
   path = /html                 # 実際の共有ディレクトリ
   browseable = yes             # 
   only guest =  no             # 
   create mode = 0775           # 
   valid users = @www           # グループ www の人のみ使用可能
   writable = no                # 
   write list = @www            # 
   printable = no               # 

[04] usermap の作成

/usr/local/etc に usermap を作成する。

これは、Windows 95/98 などのネットワークログイン時のアカウント名と FreeBSD 上
のアカウント名が異なる場合にも対応できるようにするためです。

以下の例では、= の右側の名前が Windows 等のログイン名です。

(例)
tomizawa = tommy,tomi
username = windowsuser,ntuser

[05] samba ディレクトリの作成

/usr/local/etc の中に samba ディレクトリを作成する。

% mkdir /usr/local/etc/samba

作成した後に、書き込み属性を付けておく。

% chmod ugo+w /usr/local/etc/samba

[06] inetd の編集

samba を起動するには、inetd によって動かすようにします。

/etc/inetd.conf を vi で開き、最後の方にある以下の行の先頭の # を削除する。

netbios-ssn stream tcp nowait root /usr/local/sbin/smbd smbd
netbios-ns dgram udp wait root /usr/local/sbin/nmbd nmbd

[07] rc.d の確認

/usr/local/etc/rc.d の中に samba.sh.sample というファイルがあったら
それを実行しないように、別の場所へ移動しておく。

% mv samba.sh.sample ../

注)デーモンとして起動させたい場合は、[06]の inetd.conf はコメントアウト
  しておき、このシェルスクリプトで起動するようにしておく。

  その場合は、 samba.sh.default を samba.sh として名前を変更しておく。

[08] inetd の再起動

inetd で samba を起動させるためには、一度 reboot するか、inetd のみを再起動
させればよい。

% ps -aux | grep inetd で ID を確認し、% kill -HUP (inetd-ID) を実行。

[09] Windows からのアクセス

上記の設定で samba を起動後に、Windows 9x/NT 等から、ネットワークコンピュータ
を開いたときに、samba が起動している端末が出てくるかを確認する。

出てこない場合、設定を見直してみてください。
Wins サーバーとして、他に NT などが動いている場合は、そこまで情報が伝播するのに
多少時間がかかっているのかもしれません。

自ホスト(samba)の Wins support = yes にした場合は、hosts 又は DNS の設定を見直し
て見てください。

うまく端末が出てきたら、それをダブルクリックして開いてみて、共有設定したフォルダ
が見られればOKです。

ただし、ここまでの設定では Windows 95 の OSR 2 以降のクライアントからは、パス
ワードが違う等のメッセージが出て見られません。

Windows 95 OSR2.0 以降、ネットワークパスワード送信には、エンコードを行うように
修正されたため、samba 側がそのパスワードを認識できなくなっています。

これを防ぐためには2つの方法があります。

1つは、Windows 系のクライアント側を、従来通りプレーンテキスト形式で送信する
ようにすることです。

これには、samba をインストールした後にできる /usr/local/share/doc/samba の中に
NT4_PlainPassword.reg  (Windows NT 4.0 用)
Win95_PlainPassword.reg (Windows 9x 用)
というファイルがありますので、このファイルをクライアント側にコピーしてきて
ダブルクリックすれば、レジストリが修正され、再起動後にプレーンテキスト形式の
送信方法に変更されます。

* 最新の samba には Win 98 や Win 2000 用が入っています。

もうひとつの方法は、samba 側を encrypt password 方式にする方法です。

これには、smb.conf の [grobal] セクションの中に encrypt password = yes という
行を追加してください。

次に、% smbpasswd コマンドで、それぞれのユーザーのパスワードを設定する必要が
あります。

% smbpasswd (username) とし、 username に対するパスワードを設定してあげれば
samba もしくは inetd の再起動後にアクセスが可能となります。


[FreeBSDページに戻る]  [HOMEに戻る]