Subject: WinXP (Home Edtion) での Samba の設定
Date: Fri, 20 Aug 2004 16:02:24 +0900 (JST)

大城です.

Windows パソコンが WinXP Home Edition に変わり,Samba がつながらなくなっ
たとのことでしたので,設定を変更しました.

変更点は次です.設定ファイルの smb.conf をコピーし書き換えています.

  >>>/usr/local/samba/lib/smb-winxp.conf
  [global]
          ...
	log file = /var/log/samba/log.%m
	lpq cache time = 0
	encrypt passwords = yes  <=== 追加.暗号化したユーザ認証用
	local master = No
    ...
  [printer]
	comment = Canon LASER SHOT LBP-730PS F2
  	browseable =yes         <== 追加.ネットプリンタ接続時に見せるため
	printable = yes
	public = yes
         ...
        printer driver = Canon LBP-730PS F2
        printer driver location = \\HOST\DRIVER$
        oplocks = No

で,Samba の起動時にこの書き換えた設定ファイルを読み込むよう 
/etc/rc.local を変更しました.('-s' オプションで設定ファイルを指定).

  >>>/etc/rc.local
  # Samba start
  echo -n samba
  /usr/local/sbin/smbd -D -s /usr/local/samba/lib/smb-winxp.conf
  /usr/local/sbin/nmbd -D -s /usr/local/samba/lib/smb-winxp.conf

これで smbd/nmbd を起動(先に動いている場合は kill してから)すると,
ユーザ名/パスワードを聞いてきて Home Edition から \\HOST\homes にアク
セスできるようになります.

				  *

次に,ネットプリンタの追加ですが,そのまま追加種に「ネットワークプリン
タ」を選び「\\HOST\printer」(←上記,設定ファイル中のプリンタ名)と指
定しても追加はできますがうまく動作しません.このとき追加されたプリンタ
のプロパティのポートを見ると「Samba Print Port, local port」のみとなっ
ています.このポートは Samba 側からは問題ないそうですが,Home Edition 
らが対応していないのでしょう.マルチポートという形式でないとダメなよう
です.このためプリンタの追加は「ネットワークプリンタ」ではなく,とりあ
えず「ローカルプリンタ」を指定します.このときポートの指定は LPT1 など
適当なものを指定しておき,追加完了後に「新たなポートの追加」で
\\HOST\printer を指定すれば印刷できるようになります.もちろん,ポート
で LPT1 を指定するときに \\HOST\printer が既に出ているならそれを選択す
ればよく,後から追加・変更する必要はありません.

Samba にはこのマルチポートを行なわさせるための enumports command とい
う設定もありますが,それよりはこのローカルプリンタの追加のほうが簡単の
ようでした.必要なプリンタドライバも Windows 自前のもの(もちろんあれ
ば)が選択でき楽でした.ただし,多分に裏ワザ的な方法とも思われいつまで
も使えるとは限らないのが注意点でしょうか.

ネットプリンタを使用する場合にそのホストに対してユーザ認証されていない
とアクセスエラーになります.認証を要求するダイアログなどは出ないので,
この場合は \\HOST\homes などにアクセスしそちらで認証を行なっておいて下
さい.

---

追記:
暗号化パスワードには事前の Samba へのユーザが必要です(下記リンク参照).
1. Samba用パスワードファイル生成 ※リダイレクトによるファイル削除に注意
   (システムの /etc/passwd ファイルからユーザ情報を取得.適宜抜き出しのこと)
  % cat /etc/passwd | sh mksmbpasswd.sh > /usr/local/samba/private/smbpasswd
2. パスワード設定
  % /usr/local/samba/bin/smbpasswd ユーザ名
  New SMB Password:
  Repeat New SMB Password:

参考


Top page