cvsサーバのユーザ管理はシステムのユーザとCVSROOT/passwdの2つの管理方法があります。
だいたいはセキュリティの面を考慮して、システムのユーザへのアクセスを避けるためにCVSROOT/configに
SystemAuth=no
と書いておきます。こうすることでシステムにユーザで認証しようとしてもできなくなり、CVSROOT/passwdに書いてあるユーザしかログインできなくできます。あとCVSROOT/passwdの書き方ですが、基本的には1行1ユーザで下記の形式になります。
ユーザ名:cryptされたパスワード:対応するシステムユーザ
の形式で書きます。よくある間違えるのですが、apacheのhtpasswdのような形式にするとうまく動きません。
ただ、「cryptされたパスワード」はapacheのhtpasswdコマンドを使って生成できるので、そちらで生成してから、最後に「対応するシステムユーザ」を手書きで追加するのが楽でしょう。(※パスワード生成は「% perl -e 'print crypt("foobar", "12"), "\n";'」とかでもできます。)
また、はまりやすいのがパーミッションです。CVSのファイルを格納しているディレクトリでのパーミッションが775でグループがfooだとしたら、システムユーザで管理している場合はそのユーザがfooグループに入ってないといけません。または「対応するシステムユーザ」をそのグループに入れないとCVSの操作ができません。
以上メモとして。