ずっと前に設定してたんだけど、いかん、忘れちゃうなあ。
pserverでのanonymousアクセスを許可するには、リポジトリとなるディレク トリの CVSROOT/passwd ファイルに
anonymous:
などというエントリを書く。これを忘れてた−。あと、リポジトリの ルートとなるディレクトリを限定するために、cvs pserver の起動時オプション として、
cvs -R --allow-root=/foo --allow-root=/bar --allow-root=/baz pserver
などと書くが、公開したいリポジトリが殖えると、どんどんオプションが延 びていって気分悪い、というのと、どのリポジトリを公開しているかが ps のテーブルに出てしまってこれまた気分悪い。こんなときは cvs pserver を 起動するプロセスの $HOME/.cvsrc に書いておくとよい。chrootして、rootで動 かさず、allow-root を指定するような書き方 for daemontools、 /chrootdir/cvspsv が daemontools 用の管理ディレクトリだとする。
[/chrootdir/cvspsv/.cvsrc] cvs -R --allow-root=/foo --allow-root=/bar --allow-root=/baz
で、runスクリプトがこんな感じ。
[/chrootdir/cvspsv/run] #!/bin/sh exec env - \ PATH=/bin:/usr/bin:/usr/sbin:/usr/local/bin \ HOME=/cvspsv \ chroot /chrootdir \ setuidgid anonymous \ softlimit -d5000000 \ tcpserver -vHR -c4 -x/cvspsv/cvs.cdb 0 2401 \ cvs pserver 2>&1
したら、ln -s /chrootdir/cvspsv /service
しておしまい。
はい、このページの説明、daemontoolsを使っていて理解していて、なおかつ chrootの設定は分かってないと分かりまへんな。