Provided by: manpages-ja_0.5.0.0.20110915-1_all bug

SETUID の使用
       RCS 管理者以外のユーザがリビジョンを削除できないようにするには、 以下の
       ように setuid 特権を使用することができます。

       · その計算機で RCS にて setuid が使用できるか確認します。  疑問があると
         きは、信頼できる専門家に意見を聞いてください。         最も良いのは、
         seteuid() システムコールが Posix 1003.1a Draft 5 に  記述されているよ
         うに動作することです。 なぜなら、実ユーザが root であっても、RCS は実
         ユーザと実効ユーザを簡単に切り替えることができるからです。 その次に良
         いのは、  setuid() システムコールが saved setuid (Posix 1003.1-1990の
         {_POSIX_SAVED_IDS} の動作) を サポートしている場合です;  この場合、実
         ユーザもしくは実効ユーザが   root   である時のみ失敗します。  RCS  は
         setuid に失敗すると、ただちに終了します。

       · ユーザグループの  RCS  管理者として、ユーザ  A  を選びます。  A  だけ
         が、RCS  ファイルに対して rcs コマンドを実行することができます。 Aroot や、特権を持ったユーザであってはいけません。  相互に異なるユーザ
         グループには、異なる管理者を使用するべきです。

       · ユーザが実行するファイルのディレクトリに、パス名 B を選びます。

       · 以下のように、通常のインストールディレクトリ  D  から、 cicoB
         にコピーし、 A へ setuid します:

              mkdir  B
              cp  D/c[io]  B
              chmod  go-w,u+s  B/c[io]

       · 以下のように、各ユーザのパスに B を加えます:

              PATH=B:$PATH;  export  PATH  # ordinary shell
              set  path=(B  $path)  # C shell

       · 以下のように、 A だけが書き込み許可を持つ RCS ディレクトリ R を作成し
         ます:

              mkdir  R
              chmod  go-w  R

       · 特定のユーザだけに  RCS ファイルの読み込みを許可したい場合、 そのユー
         ザをユーザグループ G に入れて、さらに A が以下のように、RCS  ディレク
         トリを保護します:

              chgrp  G  R
              chmod  g-w,o-rwx  R

       · (存在すれば)  古い RCS ファイルを R にコピーし、 A が所有であることを
         保証します。

       · RCS ファイルのアクセスリストは、 リビジョンをチェックインおよびロック
         できるユーザを制限します。   デフォルトのアクセスリストは空で、   RCS
         ファイルを読むことのできる全てのユーザに、登録の権限を与えます。
         チェックインを制限したい場合は、 A がそのファイルに対して rcs -a を実
         行します; rcs(1) を参照してください。 特に rcs -e -aA は、 A だけにア
         クセスを制限します。

       · 初めてチェックインを行う前に、  Arcs -i によって新しい RCS ファイ
         ルを初期化します。 チェックインを制限したい場合、 -a オプションを付け
         加えます。

       · setuid  特権は、  ci, co, rcsclean のみに与えます; rcs や他のコマンド
         に、setuid 特権を与えてはなりません。

       · RCS  コマンドに対して、他の  setuid  コマンドを実行しないでください。
         setuid はあなたが考えるより扱いにくいものです。

環境変数
       RCSINIT
              本変数に空白で区切ったオプションを設定することで、  コマンドライ
              ン引数に先立って処理されます。  空白はバックスラッシュによってエ
              スケープすることができます。 RCSINIT はほとんどの RCS コマンドで
              参照されます。特に -q, -V, -x, -z オプションを指定しておくと便利
              です。

       TMPDIR 一時ディレクトリ名を指定します。  設定されていない場合は、環境変
              数 TMPTEMP とを調べ、始めに見つかった値を用います;  どれも設
              定されていない場合は、  計算機依存のデフォルトのディレクトリ (た
              いていは /tmp ) を使用します。

診断
       各リビジョンに対して、 ci は RCS ファイル名、ワークファイル名、追加する
       リビジョン番号、直前の リビジョン番号を表示します。全ての処理が成功した
       場合のみ、 終了ステータスが 0 になります。

作者
       Author: Walter F. Tichy.
       Manual Page Revision: 1.6; Release Date: 1999/08/27.
       Copyright © 1982, 1988, 1989 Walter F. Tichy.
       Copyright © 1990, 1991, 1992, 1993, 1994, 1995 by Paul Eggert.

関連項目
       co(1), ident(1), make(1), rcs(1), rcsclean(1), rcsdiff(1), rcsintro(1),
       rcsmerge(1), rlog(1), setuid(2), rcsfile(5)
       Walter  F. Tichy, RCS--A System for Version Control, Software--Practice
       & Experience 15, 7 (July 1985), 637-654.