[Momonga-devel.ja:02712] Re: cups 用の pam の設定方法


famaoさん、koma2さん、ご指摘ありがとうございました。

cupsの認証について、まずまとめてしまうと、
* MomongaのCUPSはlpユーザーとして動いていて/etc/shadowを見られないから
  rootを認証することができない。
* SuSEのCUPSはDigest認証を使っていて、lpユーザーとして動いているCUPSは
  /etc/cups/passwd.md5を見てrootを認証する。
* zundaのSuSEで/etc/cups/passwd.md5がどうやってできたかは謎のままだけ
  れど、作法としては、lppasswd -g sys -a root するべきみたい。
ということになりそうです。

Momongaとしての選択肢は、
1. SuSEと同様Digest認証にして、インストール時にユーザーにlppasswdの実行を促す
2. RunAsUserをNoにしてpamにrootを認証してもらう
ということになるのかな?個人的には最初の選択肢がいいと思うのですが
どうでしょう?

すみませんが僕はすぐには作業できないのでどなたかやってくださるとうれしい
です。後ほど時間ができたらやっておきますが。

下記、詳細です。

SuSEで
* strace /usr/sbin/cupsd -f しておいて、
* http://localhost:631/admin にアクセスしrootとルートのパスワードで認証され、
* 管理UIが表示されてから、
* cupsdを^Cで止めた
結果を、http://www.momonga-linux.org/~zunda/cups.txt に置いておきます。
確かに/etc/cups/passwd.md5へのアクセスがあります。ユーザー名とパスワー
ドのハッシュ値(たぶん。0-fまでの16進数)は、Xで置き換えてあります。

というわけで、

> -AuthType BasicDigest
> -AuthClass Group
> -AuthGroupName sys
> +AuthType Basic
> +AuthClass System
> 
> のあたりがクサイ気がします。
> 
> /usr/share/doc/cups/sam.html によると、
> 
>  ・ BasicDigest - Basic authentication should be performed using the /etc/cups/
>     passwd.md5 file.
> 
> だそうです。
> 
> SuSE の方には /etc/cups/passwd.md5 とかいうファイルが
> あったりとかしませんか?

ありました。内容は、
 root:sys:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
(Xは0-fの16進数)で、/etc/shadowに記録されている文字列とは
違っていました。

気になるのはこのファイルがどうやって作られているのか、ということですが、
  $ rpm -qf /etc/cups/passwd.md5
  file /etc/cups/passwd.md5 is not owned by any package
で、rootのパスワードを変更してみてもファイルの日付は変更されず、
新しいパスワードでは認証されませんでした。わはは。また、
  $ rpm -q --scripts cups | grep passwd.md5
しても一致する行はありませんでしたので、cupsのインストール時に作っている
わけではなさそうです。

このマシンをインストールした日は忘れてしまったのですが(おまぬけ今見られないしT_T)
passwd.md5の日付はインストールした日に近いかもしれません。
  http://portal.suse.com/sdb/en/2003/09/jsmeix_print-einrichten-90.html
を見ると、
  lppasswd -g sys -a root
をしろと書いてあるのですが、やった記憶はありまへぬ。

ではでは。

__________________________________________________
GANBARE! NIPPON!
Yahoo! JAPAN JOC OFFICIAL INTERNET PORTAL SITE
http://mail.ganbare-nippon.yahoo.co.jp/