Samba は nmbd デーモンとsmbd デーモンによって、Windows マシンとのファイル、プリンタ共有を実現します。 nmbd デーモンは Windows ネーミングサービスとして の機能を提供し, LAN 上の Windows マシンにあなたのマシン名を一斉配信し ます。
共有したい Linux プリンタごとに Windows のプリンタドライバをインストー ルする必要があります。Windows のプリンタドライバは、プリンタメーカーの Web サイトからダウンロードできます。
プリンタへの匿名アクセス(anonymous access)を許可する場合、 リモートからのプリント指示を許可するためのユーザアカウントを作成する必要があります。
/usr/sbin/adduser --system --disabled-password smbprint |
このコマンドは "smbprint" という名前のユーザをシステムに追加します。 "smbprint" のホームディレクトリ、 /home/smbprint がスプールディレクトリになるので、 ファイルのスプールに必要なディスクスペースがあることを確認してください。 また、"smbprint" に秘密ファイル、 ディレクトリへの読み書き権限を与えないよう注意してください。 CUPS をある特定のユーザからしかプリントできないよう制限設定した場合、 "smbprint" ユーザに共有したいプリンタへのアクセス権を与え なければなりません。
Samba の設定ファイル名は /etc/samba/smb.conf です。 "smbprint" というユーザ名で CUPS を設定した場合の設定ファイル例を以下に示します。
[global] printcap name = cups printing = cups security = share [printers] browseable = yes printable = yes public = yes create mode = 0700 guest only = yes use client driver = yes guest account = smbprint path = /home/smbprint |
しかしながら、上記の設定では、ネットワークからこのマシンにアクセスでき るどのマシンにでもプリントの許可を与えています。したがって、インターネッ トから直接アクセスできるマシンのような、信用のおけないネットワーク上のマ シンで上記のような設定は避けたほうがよいでしょう。アクセス制御を実装したい場合、 security = user や security = domain のような設定を行ってください。 アクセス制御に関する詳しい情報は Samba の man ページをご覧ください。
Samba 設定ファイルの編集ができたら、以下のコマンドで Samba を再起動してください。
/etc/init.d/samba restart |
Windows のプリンタドライバは出力データをフォーマットしてから、 ネットワークにそのデータを送ります。(訳者追記:Windows から問題なく利用できるよう) Windows 側のフォーマット済の出力データに対応するために CUPS を設定します。 /etc/cups/mime.convs の次の行のコメントアウト を解除してください。
application/octet-stream application/vnd.cups-raw 0 - |
また、/etc/cups/mime.types の次の行のコメントアウトも解除してください。
application/octet-stream |
次に、ネットワーク上の他のマシンからの接続を許可するよう CUPS を設定します。 以下の記述を /etc/cups/cupsd.conf に加えてください。
<Location /printers> AuthType None Order Deny,Allow Deny From None Allow From All </Location> |
最後に、以下のコマンドで CUPS を再起動します。
/etc/init.d/cupsys restart |
これで Linux プリンタは LAN 上で Windows マシンと共有できます。Windows のプリンタ追加ウィザードでネットワークプリンタを追加し、テストページを 印刷してみてください。