argius note

プログラミング関連

リポジトリを複数作る + ユーザとアクセス権

Linkclub - ページが見つかりません。
この辺りを参考にまとめ。
Cygwinのinetdでpserver立てている前提。

リポジトリを複数作る

/usr/local/cvs/root に既にあって、/opt/cvs/root を新たに作る場合。

  1. ディレクトリを作成。
  2. リポジトリを初期化 cvs -d /opt/cvs/root init
  3. inetdの設定に許可するルートを追加*1
  4. ユーザ設定は、最初のリポジトリと同じでよければコピー。
  5. inetdを再起動する。
  1. $ mkdir -p /opt/cvs/root
  2. $ cvs -d /opt/cvs/root init
  3. /etc/inetd.conf <<= --allow-root=/opt/cvs/root
  4. $ cp -pi /usr/local/cvs/root/CVSROOT/passwd /opt/cvs/root/CVSROOT/
  5. $ cygrunsrv ...

ユーザとアクセス権

CVSのログインユーザとシステムのユーザを別に指定できる。
${CVSROOT}/passwdファイルの設定で、システムユーザsyscvsと、CVSユーザcvsuser01を定義する。syscvsは、もちろんOSで設定されたもの。それぞれコロン区切りで、1番目はCVSのユーザ名、2番目はcryptで暗号化されたパスワード、3番目はCVSユーザとシステムユーザが異なる場合のシステムユーザ。

syscvs:LJSDNlSLE
cvsuser01:lkSNLDKN:syscvs

これで、CVS用のシステムユーザが1つでも、同じ権限で良ければ、CVS用のユーザはたくさん作れる。
read onlyにするかどうかは、${CVSROOT}/readersまたは${CVSROOT}/writersを使う。それぞれユーザ名を行区切で記述し、使う場合はどちらかだけ使う。readersがある場合は、記述されたユーザはread onlyで、それ以外は書き込み可能となる。writersがある場合は、記述されたユーザだけ書き込み可能ユーザで、それ以外はread onlyとなる。両ファイルとも無いときは、書き込み可能ユーザとなる。

*1:オプション--allow-rootは複数指定可能。