次: , 前: Repository files, 上: Repository storage


2.2.2 ファイル使用許可

全ての `,v' ファイルは読み込み専用であり、 この使用許可を変えるべきではありません。 これに対し、リポジトリ中のディレクトリは、 ファイルの修正を行なう人物に対して、 書き込みを許可しなくてはいけません。 これはつまり、 ファイルの修正を行なう人物からなるグループを作って (group(5)参照)、 そのディレクトリの所有グループとすることを意味しています。

従って、 ディレクトリ単位でしかファイルのアクセス権を 管理することができません。

cvs はロック・ファイルを作成する必要があるため (see Concurrency)、ファイルを取り出す使用者にも、書き込み許可が必 要であることに注意して下さい。

利用者は CVSROOT/val-tags ファイルに書き込み許可が必要なことも 注意してください。cvs はそれをどのタグが有効かを記録するために使 います (作成時と、ときどきタグが使用されたときに更新されます)。

それぞれの rcs ファイルは最後に書き込んだ利用者に所有されます。こ れはあまり重要ではありません。重要なのは誰がディレクトリを所有している かです。

木の中に新しいディレクトリを加える場合、 cvs はできるだけ適当な使用許可を与える努力をします。 しかし新しいディレクトリの使用許可が、 親ディレクトリのものと異なる必要がある場合には、 手動で変更する必要があります。 環境変数 CVSUMASK を設定すれば、 リポジトリに作成されるディレクトリやファイルの使用許可を管理できます。 CVSUMASK は、作業ディレクトリのファイル使用許可には影響しません。 作業コピーの使用許可は、 新たに作成したファイルに通常与えられるものと同じです。 但し、cvs が読み込みだけを許可することがあります (監視時 Setting a watch, -r 使用時 Global options, CVSREAD 設定時 Environment variables を各々参照)。

クライアント/サーバ cvs を使用すると (see Remote repositories)、CVSUMASK を設定する良い方法はありません。クライ アントマシンでの設定は効果がありません。rsh で接続しているなら、 オペーレーティングシステムの説明に書いてあるように、.bashrc.cshrcCVSUMASK を設定することができます。この振る舞 いは将来のバージョンの cvs では変更されるかもしれません。クライア ントの CVSUMASK の設定には頼らず、それは無効になるでしょう。

pserver を使う場合は、一般的に、 cvsroot ディレクトリと木構造でそ れより上のディレクトリには厳しい使用許可が必要です。Password authentication security を参照してください。

オペレーティングシステムには特定のプログラムが、プログラムの呼び手には できないような動作をする能力とともに実行される機能があるものがあります。 例えば、unix の set user ID (setuid) や set group ID (setgid) 機能や VMS の installed image 機能です。CVS はそのような機能を使用するように 書かれていませんので、そのような方法で CVS をインストールすると事故の 過失に対する保護しか提供できなくなります。方法を欺くことを試そうとして いる人は誰でもそうすることができ、設定に応じて CVS だけに留まらない使 用許可を得るかもしれません。代わりに pserver を使用することを考えるか もしれません。それは同じ属性のいくつかを共有していますので、間違ったセ キュリティの設定や、修正したいものよりも大きなセキュリティホールを提供 する可能性がありますので、このオプションを考えているなら、pserver の説 明文書を注意深く読んでください。(Password authentication security)。