サーバに接続する前に、
使用者はコマンド cvs login
を用いて
ログインする必要があります。
サーバのパスワード確認と同時に、
後のサーバとの処理のためにパスワードを保存します。
コマンド cvs login
は、
与えられた引数もしくは環境変数 CVSROOT
から、
使用者名, サーバ名, リポジトリへのフルパス等の必要な情報を取得します。
cvs login
は対話的にパスワード入力を促します:
cvs -d :pserver:bach@chainsaw.brickyard.com:/usr/local/cvsroot login CVS password:
サーバによりパスワードが照合され、
正しければ login
が成功しますが、
誤りであれば失敗して、パスワードが正しく無いと文句を言います。
ログインが成功した後、 ログイン時に記録されたパスワードを用いて認証を行ない、 CVS がサーバに直接接続します:
cvs -d :pserver:bach@chainsaw.brickyard.com:/usr/local/cvsroot checkout foo
CVS がサーバに接続する際、
:pserver:
が無ければ、
rsh
が用いられます (「4.6.1 rsh で接続する」参照)。
従って、必ず :pserver:
を付加して下さい。
(一旦作業コピーを取り出した後、
作業ディレクトリ中で CVS を実行する場合には、
面倒なリポジトリの指定は必要ありません。
作業コピーのサブディレクトリ `CVS' に、
引数のリポジトリが記録されているためです。)
パスワードは、既定ではファイル `$HOME/.cvspass' に保存されます。 ファイルは人が読める書式で書かれていますが、 十分な知識無しに編集してはいけません。 パスワードは平文ではありませんが、 "悪気無く"見られる事 (つまり、システム管理者が偶然そのファイルを見付け、 不注意に見るといった事) を防ぐための、 簡単な暗号化しかしていません。
環境変数 CVS_PASSFILE
は、既定値に優先します。
この環境変数を使用するのであれば、
cvs login
を実行する前に設定しなければいけません。
cvs login
を実行した後に設定した場合、
その後の CVS コマンドは、
サーバに送るパスワードを見付けられません。
環境変数 CVS_PASSWORD
は、
記録された他の全てのパスワードに優先します。
この環境変数が設定された場合、
CVS は、全てのパスワード認証においてこれを使用します。