Next: Password authentication security, Previous: Password authentication server, Up: Password authenticated
cvs コマンドをパスワード認証サーバを通じて遠隔リポジトリで実行
するためには、pserver
プロトコル、使用者名、リポジトリのホスト、
リポジトリへのパスを指定します。例えば:
cvs -d :pserver:bach@faun.example.org:/usr/local/cvsroot checkout someproj
もしくは、
CVSROOT=:pserver:bach@faun.example.org:/usr/local/cvsroot cvs checkout someproj
しかし、全員に使用可能なリポジトリ (すなわち、使用者名がパスワードを要
求しないもの) でない限り、最初に ログイン しなければなりません。
ログインはリポジトリのパスワードを認証します。これは login
コマ
ンドで行われ、対話的にパスワード認証を促します。
cvs -d :pserver:bach@faun.example.org:/usr/local/cvsroot login CVS password:
パスワードを入力し終わると、cvs がサーバで認証します。認証が成功
すれば、その使用者名、ホスト、リポジトリ、パスワードが永久に記録されま
す。ですから、将来のリポジトリでの通信は cvs login
の実行を要求
しません。(認証が失敗すれば、cvs はパスワードが正しくないことを言っ
た後終了し、何も記録されません。)
既定では、登録はファイル $HOME/.cvspass に保存されます。ファ イルの形式は人間が読めるもので、ある程度人間が編集可能でもありますが、 パスワードは平文で保存されているのではないことは注意してください—そ れらは "純真な" 侵入 (つまり、システム管理者や他の悪意のない人間が不 注意に見るといった事) を防ぐため、簡単な符号化がされています。
このファイルの既定の場所を CVS_PASSFILE
環境変数を設定すること
で変更することができます。
この変数を使用するのであれば、
cvs login
を実行する前に設定しなければいけません。
cvs login
を実行した後に設定した場合、
その後の cvs コマンドは、
サーバに送るパスワードを見付けられません。
一度ログインをすると、その遠隔リポジトリを使う全ての cvs のコマン ドは保存されたパスワードで認証します。ですから、例えば
cvs -d :pserver:bach@faun.example.org:/usr/local/cvsroot checkout foo
はそのまま動作します (サーバ側でパスワードが変更されない限り。その場合
は cvs login
をもう一度実行する必要があります)。
リポジトリ指定中に ‘:pserver’ が存在していなければ、cvs は変
わりに rsh
で接続すると仮定することに気を付けてください
(see Connecting via rsh)。
もちろん、一度作業コピーを取り出してそこから cvs のコマンドを実行 していれば、明示的にリポジトリを指定する必要は無くなります。というのは、 cvs は作業コピーの CVS サブディレクトリから導き出すことが できるからです。
任意の遠隔リポジトリのパスワードは cvs logout
コマン
ドを使用すると CVS_PASSFILE
から消去できます。