samba-2.0.3 の料理方法

Microsoft Windows 系のネットワーク・プロトコル SMB を使用して Solaris をサーバーとしてファイルやプリンタを共有しましょう。

最終更新日 : 1999 年 05 月 23 日


  1. 材料
    • Solaris[ developper ]以上ががインストールされたコンピュータ。
      今回は Solaris2.6 / Ultra10 を素材にしました。
    • GNU gcc の実行環境
    • GNU gzip の実行環境
    • samba-2.0.3 のソースコード

  2. 材料の入手
    ソース・コードを入手しないと話になりませんので、誰かにもらうかお買い物に行きましょう。
    下記の場所や雑誌の付録から入手してください。
    Web siet だと総本山 http://samba.anu.edu.au/samba/ にありますし、 ftp ミラーサイトだと ftp://ring.asahi-net.or.jp/archives/net/samba/ とか ftp://ring.aist.go.jp/archives/net/samba/ とか ftp://ftp.win.ne.jp/pub/network/samba/ があります。
    今回は、ソフトバンクの UNIX USER Vol.8 No.5 May 1 1999 の付録 CD-ROM2 からもってきました。

  3. 下拵え
    まず材料を解凍します。
    パスは[ /usr/bin /usr/sbin /usr/ccs /usr/ccs/bin /usr/openwin/bin /usr/openwin/bin/xview /usr/local/bin . ]に貼ってあります。

    # cd /usr/local/compile
    # gzip -dc samba-2.0.3.tar.gz | tar xvf -
    # cd samba-2.0.3
    # cd source

  4. さてコンパイル
    ./configure スクリプトができたので楽になりました。
    特に何も考えずにデフォルトでいきます。

    # ./configure
    # make
    ./configure に結構時間がかかります。でもこれだけ楽させてもらうので、画面の前で待ちましょ。

  5. さぁ、盛り付け 1
    デフォルトでは、 /usr/local/samba にインストールされます。やな時は Makefile を直接編集するか、 ./configure で --prefix=/opt/samba なんてすればいいのではないでしょうかね。
    # make install

  6. 盛りつけ 2
    設定ファイルのサンプルファイルを所定の場所にコピーして、基本的な設定だけ変更します。細かい内容は説明しませんので、マニュアルをよく読んで変更してください。
    # cd ../examples
    # cp smb.conf.default /usr/local/samba/lib/smb.conf
    # cd /usr/local/samba/lib
    # vi smb.conf
    [ global ] の設定
    • ワークグループ名は Mystery
    • サーバーストリングは Mystery
    • プリンタは SYSV として使用する
    • ログファイルは /var/adm/samba に作成
    • Microsoft Windows95/98/NT4.0 のパスワードの暗号化に対応
    • パスワードのチェックレベルは 8
    • ファイル名の大文字小文字の扱いを Microsoft Windows と同じように
    • 漢字コードは EUC
    workgroup = Mystery
    server string = Mystery Server
    load printers = yes
    printcap name = lpstat
    printing = sysv
    guest account = nobody
    log file = /var/adm/samba/log.%m
    max log size = 50
    security = user
    encrypt passwords = yes
    socket options = TCP_NODELAY
    dns proxy = no
     
    password level = 8
    preserve case = yes
    short preserve case = yes
    case sensitive = no
    client code page = 932
    coding system = euc
    [ printers ] の設定
    • スプールディレクトリは /var/spool/samba
    comment = All Printers
    path = /var/spool/samba
    browseable = no
    # Set public = yes to allow user 'guest account' to print
    guest ok = no
    writable = no
    printable = yes
    [ public ] の設定
    • /home/guest をパブリックのディレクトリにする
    path = /home/guest
    public = yes
    only guest = yes
    writable = yes
    printable = no
    # mkdir /usr/local/samba/var/locks
    # mkdir /var/spool/samba
    smb.conf が、ちゃんと書けたかどうかチェックしましょ。
    # ../bin/testparm
    Load smb config files from /usr/local/samba/lib/smb.conf
    Processing section "[homes]"
    Processing section "[printers]"
    Processing section "[public]"
    Loaded services file OK.
    Press enter to see a dump of your service definitions

  7. 盛りつけ 3
    samba 用のパスワードファイルを作成しましょ。 mksmbpasswd.sh という /etc/passwd から samba 用パスワードファイルを作成するスクリプトはインストールされませんので、ソースを展開した場所からコピーしてきて使用しましょ。
    # cd /usr/local/samba/bin
    # cp /usr/local/compile/samba-2.0.3/source/script/mksmbpasswd.sh .
    # chmod 755 mksmbpasswd.sh
    # cat /etc/passwd | ./mksmbpasswd.sh > ../private/smbpasswd
    パスワードを登録していきます。あぁ、めんど。
    ./smbpasswd にログイン名を入れてパスワードを入力するようです。

    # ./smbpasswd pochi
    New SMB password:
    Retype new SMB password:
    Password changed for user pochi.

  8. さぁ、試食
    さて、起動してみて Windows マシンから確認しましょ。
    -D オプションでデーモンとして起動させます。

    # cd /usr/local/samba/bin
    # ./smbd -D
    # ./nmbd -D

  9. 試食 2
    あとは MS-Windows95/98 での設定ね
    [ コントロールパネル ]-[ ネットワーク ] で、
    • Microsoft ネットワーククライアント
    • TCP/IP プロトコル
    • ネットワークカード
    • Microsoft ネットワーク共有サービス
    を設定しておきましょう。
    Windows のログイン名と同じログイン名が Solaris 側の /etc/passwd にあることを確認しましょう。 Solaris 側でのパスワードが必要になります。
    [ ネットワークコンピュータ ]-[ ネットワーク全体 ] をダブルクリックしてみましょう。 samb で設定したワークグループ名が見えると思います。
    それをダブルクリックすると Solaris のホスト名のコンピュータが見えると思います。
    それをまたダブルクリックすると、プリンターやパブリックのフォルダーや自分のホームディレクトリのフォルダーが見えると思います。
    パブリックのフォルダーはダブルクリックすると、承認なしで開くでしょ ?
    ホームディレクトリはダブルクリックすると、パスワードを要求してくると思います。 Solaris 側のパスワードを入力してみてください。開くでしょ ?
    プリンタをクリックするとプリンタの設定ウィンドウが開くと思います。その指示に従いドライバなどをインストールすると使用できるようになります。
    問題無く動けば OK !!
    プリンタなど試したていたら削除しておきましょう。
    Solaris 側では daemon 化している smdb と mndb を ps -ef で探して kill して試食はおしまい。

  10. 食事
    ちゃんとコンピュータ起動時に samba も起動するようにしましょう。
    rc2.d に置くためのスクリプトのサンプルが /usr/local/compile/samba-1.9.18p10/examples/svr4-startup に samba.serverという名前で置かれてあります。これをベースに変更しましょう。
    サンプルは /opt/samba にインストールすることを前提としているみたいですね。これを /usr/local/samba に変更しましょ。
    samba のログはどこがいいのでしょうね ? 今回の例では samba をインストールしたディレクトリに var なんて作ってますが、他のログもある /var の下に samba なんてディレクトリを作った方が管理が楽そうな気がしますです。ログファイルのパスは smb.conf で指定するか、この S99samba.sever で smbd と nmdb に起動時のオプションで指定できます。起動時のオプションの方が採用されるようですね。
    # cd /export/home/compile/samba-1.9.18p10/examples/svr4-startup
    # cp samba.server S99samba.server
    # vi S99samba.server
    /opt/samba/bin/smbd -D -s/opt/samba/smb.conf

    /usr/local/samba/bin/smbd -D -s/usr/local/samba/lib/smb.conf
     
    /opt/samba/bin/nmbd -D -l/opt/samba/log -s/opt/samba/smb.conf

    /usr/local/samba/bin/nmbd -D -l/usr/local/samba/var/log -s/usr/local/samba/lib/smb.conf
    # cp -i S99samba.server /etc/rc2.d
    これでコンピュータの起動時に samba が起動するようになります。
    /etc/rc2.d にコピーする前に試したい時は、

    スタート : # S99samba.server start
    ストップ : # S99samba.server stop
    で、試してくださいな。

  11. 盛り合わせ
    samba の設定を Web で管理できるシステムが付属したので、それも設定しちゃいましょ。
    README だと 901 ポートで扱っているので、その通りやります。すでに 901 を使用していたら 1023 以下で開いているポートを使えばいいみたいです。
    /etc/inet/services と /etc/inet/inetd.conf に書き足します。

    # chmod 644 /etc/inet/services
    # vi /etc/inet/services
    swat 901/tcp # Samba Web Administration
    # chmod 444 /etc/inet/services
    # chmod 644 /etc/inet/inetd.conf
    # vi /etc/inet/inetd.conf
    #
    # Samba Web Administration
    #
    swat stream tcp nowait root /usr/local/samba/bin/swat swat
    # chmod 444 /etc/inet/inetd.conf
    Netscape Navigator なんかで http://mystery:901/ なんかすると、samba のページが立ち上がってきます。めでたし、めでたし。

  12. 後片付け

    ソース・コードなどはバックアップしておいて作業した生ごみは必要がなければ消してしまいましょう。

    # cd /usr/local/compile
    # rm -r samba-2.0.3.tar.gz samba-2.0.3


[ Solaris 料理コーナー ] [ トップページ ]

BEKKOAME//INTERNET で公開していたページです。
作成: 1999 年 05 月 23 日〜 Copyright (C) 1999 Katsauki Shimizu <katsuaki-s @_nifty.com> All rights reserved.

access counter