Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

続FedoraでCVS構築(ユーザ登録編)

CVS立てられたらそれで終わりじゃなかった。。。かなりいろいろ詰まりました。

グループの作成

CVSでは「cvs admin」コマンドを発行するためには「cvsadmin」グループに属していないといけないらしい。
ということは「cvsadmin」グループを作成しなきゃ。

# /usr/sbin/groupadd cvsadmin

全員このグループにするわけにもいかないし、CVSを利用できるグループとして「cvsusers」グループを作りました。
これは任意の名前で。

# /usr/sbin/groupadd cvsusers

ユーザの作成

でCVSを利用するユーザを作成して「cvsusers」グループに加えます。

# useradd -G cvsusers jyukutyo

これで「cvsusers」グループにユーザ「jyukutyo」が加わりました。
rootユーザもcvsadminグループに加えた方がいいですね。vigrってのがあるらしいです。

# /usr/sbin/vigr

viが起動するので編集します。

cvsadmin:x:501:root
cvsusers:x:505:root,jyukutyo

viを終了させるとメッセージが表示されます。

このシステムではシャドウグループが使われています。
今すぐ /etc/gshadow を編集しますか [y/n]?

yを押してもう一度同じ編集をします。

cvsadmin:!::root
cvsusers:!::root,jyukutyo

ディレクトリの権限変更

リポジトリのディレクトリ「/usr/local/cvsrepo」の権限を変更してcvsusersグループ以外は書き込めないようにします。

# chown -R root:cvsusers /usr/local/cvsrepo
# chmod 775 /usr/local/cvsrepo

# ls -l /usr/local/cvsrepo
# drwxrwxr-x 3 root cvsusers

CVSユーザの作成

ユーザjyukutyoの暗号化したパスワードを作成します。

# htpasswd -n jyukutyo

「New password」と聞かれるので入力、確認も入力すると、

#jyukutyo:XXXXXXXXX

みたいな感じでパスワードができます。
/usr/local/cvsrepo/CVSROOT/passwdファイルを作成します。

jyukutyo:XXXXXXXXX

という感じでユーザ名:暗号化したパスワードを書きます。

クライアントから接続

今回は別のWindowsマシンのeclipseからつなぎました。
linuxではIPアドレスは「ifconfig」で調べられます。
接続タイプpserver、ユーザjyukutyo、パスワード、リポジトリー・パス/usr/local/cvsrepoを入力してOK!
ところが、「No route to host」。なんだろう。。。
どうやらlinux側のファイアウォールが防いでいるみたいです。
今回はファイアウォールを切りました。

ファイアウォールの解除

シャットダウンするまでファイアウォールを解除するコマンド。

# /etc/rc.d/init.d/iptables stop

再起動してもファイアウォールを起動しないコマンド。

# chkconfig iptables off
# chkconfig --list iptables
iptables        0:off   1:off   2:off   3:off   4:off   5:off   6:off

全部offならOKらしいです。

eclipseから接続

できました!