サーバを立ち上げて、checkoutするぞ!とやってみたら、
cvs server: cannot open /root/.cvsignore: Permission denied
cvs [server aborted]: can't chdir(/root): Permission denied
こんなエラーが出るときがある。 これを回避するには、cvsを立ち上げているソフト(inetd とか daemontools)の設定の cvs のデーモンの起動オプションで -f を付ける。 cvs -f --allow-root=/usr/cvsroot pserver こんな感じ。 ちなみに daemontools で、cvsのpserverを立ち上げるには、/service/cvsd って掘って、 run と tcprules のファイル tcp.cvsd.cdb を作ればよい。
% cat /service/cvsd/run #!/bin/sh PATH=/usr/local/bin:/usr/bin:/bin export PATH sleep 10 _rule=/service/cvsd/tcp.cvsd.cdb exec env - PATH=$PATH ? tcpserver -HRDl0 -v -x $_rule 0 2401 ? cvs --allow-root=/usr/local/share/CVS pserver % cat tcp.cvsd :allow,RELAYCLIENT=""
アクセス制御したけりゃ、tcp.cvsd に適当に書いて、cdb を再度生成。 あとは、CVSのリポジトリを作って、そこを初期化したあとデーモンを立ち上げればオッケイ。
# mkdir /usr/local/share/CVS
# cvs init -d /usr/local/share/CVS