Windows XP/Vista で CVS-NT サーバを作るときは、Windows Firewall の設定で 2401,2402 ポートの通信を許可するように設定する必要がある。あと、Temp フォルダの書き込み権の設定も忘れずに
全く制御を欠いていて、火だるまになっているプロジェクト 〜ソースのバージョン管理すらされていない〜 を急遽任されて、とりあえず CVS-NT サーバでも作ろうというときに、こういうつまらないことをうっかり忘れていてハマると、精神衛生上良くない。
CVSNT CVSNT Locking Serviceを自動起動に変更します。
C:\cvsnt\home\cvs C:\cvsnt\temp
C:\cvsntは、初期状態で誰でもどんな操作でもできるようになっています。 そこで、C:\cvsntのアクセス権設定の継承をOFFにして、アクセスできるユーザを以下のように限定します。
Administrators : Full Control CVS : Full Control SYSTEM : Full Control
コマンドプロンプトから以下の書式でユーザを追加します。
> cvs.exe -d %CVS_ROOT% passwd -a -r %OS上のユーザ名% %cvs-nt上のユーザ名%
たとえば、
C:\> cvs.exe -d c:\cvsnt\home\cvs passwd -a -r CVS taro
となります。
パスワード設定は、%CVSROOT%passwd(今回の場合 c:\cvsnt\home\cvs\CVSROOT\passwd)に保存されます。
付記:
ドメインに参加している場合には、
C:\> cvs -d C:/cvsnt/home/cvs passwd -a -r CVS taro Adding user taro New password: **** Verify password: **** cvs [passwd aborted]: User 'CVS' is not a real user on the system.
とエラーがでて、ユーザが登録できないことがあるかもしれません。
そのような場合には、%OS上のユーザ名%をドメイン付きの形式( 自マシン名\ユーザ名 )で指定してください。
C:\> cvs -d C:/cvsnt/home/cvs passwd -a -r TURKEY\CVS taro Adding user taro New password: **** Verify password: **** C:\>
> for /R %D in (cvs) rmdir %d /S /Q
#!/usr/bin/perl srand(); @salts = ( "A".."Z", "a".."z", "0".."9", ".", "/" ); while(<>){ my($name,$passwd,$cr) = split(/,/,$_); $salt = $salts[int(rand(64))] . $salts[int(rand(64))]; $epasswd = crypt($passwd, $salt); print "$name:$epasswd:CVS\n"; }