cupsでインターネット越しでプリントしてみた

/ Linux/Unix / Comment[0]
プリンタの追加は省略
# vi /etc/cups/cupsd.conf
LogLevel warn
MaxLogSize 1m

#印刷を許可するグループ名
SystemGroup lpadmin

#デフォルトだとハカーの標的になりやすそうだからポートを変更
Port 44444

Listen /var/run/cups/cups.sock

Browsing Off
BrowseOrder allow,deny
BrowseAllow all
BrowseRemoteProtocols cups
BrowseAddress @LOCAL
BrowseLocalProtocols CUPS dnssd

#通信経路中でパスワードが漏洩しないようにチャレンジレスポンス式のDigest認証に変更
DefaultAuthType Digest

#全般のアクセス制御 - lpユーザのみ許可。認証を有効化。
<Location />
AuthType Default
Require user lp
Order allow,deny
Allow ALL
</Location>


#管理ディレクトリ - ローカルのみ許可
<Location /admin>
Order allow,deny
Allow 10.0.0.0/16
</Location>

#管理ディレクトリ - ローカルのみ許可
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow 10.0.0.0/16
</Location>
:

lpユーザを作成-aオプションでユーザの追加 -xオプションで削除
# lppasswd -a -g lpadmin lp
Enter password:
Enter password again:

CUPSを再起動して設定完了
# service cups restart


別のPCからアクセスしてみる
$ lpq -U lp -h 10.0.1.1:44444
lp のパスワード (10.0.1.1 上)? 
EPSON_PM-A840 は準備ができています
エントリーがありません

ばっちり

ルータのポート開放後、関西に居るcpl氏に頼んで次のコマンドを実行してもらた
$ lp -U lp -h mydomain.dip.jp:44444 jpg.jpg
あれ・・・?来ない・・・

/var/log/cups/error_logを見てみると
E [07/Oct/2011:23:53:04 +0900] Request from "***.**.**.***" using invalid Host: field "mydomain.dip.jp"
どうやらドメイン名でアクセスすると弾かれるらしい。

そこで、hostコマンドで解決したIPアドレスに置き換えて実行してもらうと
$ lp -U lp -h ***.***.**.**:44444 jpg.jpg
Skypeに「行った!」というメッセージと同時に隣のプリンターが動き出した。
予想通りのネタ画像が印刷されてとりあえず成功。

外出先で撮影したスクープ画像を近くのフリースポットを利用して物理的に自宅にバックアップとか、
FAX代わりに使ってみても面白そう。
関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可