Next: Server temporary directory, Previous: Remote repositories, Up: Repository
パスワード認証サーバを使っている人に読み込み専用リポジトリ接続を認める ことができます (see Password authenticated)。 (他の接続方法は全て リポジトリマシンへのログイン接続を仮定していて、ローカルのファイル使用 許可が認めるものは何でもできるので、読み込み使用者のための明示的な援助 はありません。)
読み込み専用接続の使用者は、特定の “管理” ファイル (ロックファイルや 履歴ファイル) を除いて、リポジトリを変更しない cvs の操作のみを実 行できます。この機能を使用者の別名付けと一緒に使うことが望ましいでしょ う (see Password authentication server)。
以前のバージョンの cvs と違って、読み込み専用使用者はリポジトリを 読むことができるだけで、サーバのプログラムを実行できないようになってい るはずです。そうしないと、予期しないレベルの接続を得ることができてしま います。もしくは、より正確に言うと、既知の穴は塞がれました。こ の機能は新しく、包括的なセキュリティ審査がなされていませんので、セキュ リティへの関心に従って、どのような程度の注意も払うべきというのは正当の ようです。
使用者に読み込み専用を指定するためには、2つ方法があります: 包含と排除 です。
"包含" は、使用者を特別に $CVSROOT/CVSROOT/readers ファイルに一 覧表示するということで、それは単純な改行で分離された利用者の一覧です。 これは readers ファイルの例です:
melissa splotnik jrandom
(最後の使用者の後の改行を忘れないでください。)
"排除" は 書き込み 接続のできる人を全て明示的に一覧表示するとい うことです—もしファイル
$CVSROOT/CVSROOT/writers
が存在すると、それに挙げられている使用者だけが書き込み接続ができ、その 他の人は読み込み専用接続になります (もちろん、読み込み専用使用者も、相 変らず cvs passwd ファイルに挙げられている必要があります。) writers ファイル は readers ファイルと同じ書式です。
注意: cvs passwd ファイルが cvs の使用者をシステムの使用者 にマップしているときは、cvs の使用者名を使って書き込み専用接続 を拒否したり認めたりしていて、システムの使用者名を使っていないことを確 認してください。すなわち、readers と writers ファイルに cvs の使用者名があるということで、それはシステムの使用者名と同じかもし れませんし、違うかもしれません。
これは読み込み専用接続か読み込み書き込み接続かを認めるかに関するサーバ の振舞いの完全な説明です。
readers が存在して、この使用者がそこに挙げられていれば、読み込 み専用接続になります。もしくは、writers が存在していて、使用者 がそこに挙げられていなければ読み込み専用接続になります (readers が存在するけれど、そこには挙げられていないというときにもそのようになり ます)。その他の場合では、完全な読み込み書き込み接続になります。
もちろん、使用者が両方のファイルに挙げられていれば、衝突が発生します。 これはより保守的な方法で解決されます。リポジトリの保護は少なすぎるより 多すぎるほどの方が良いですので: そのような使用者は読み込み専用接続にな ります。