スポンサーリンク

[git]gitサーバーのユーザー設定

新規で立ち上げる場合、いつも忘れるのでメモ書き。

スポンサーリンク

サーバー側の設定

ユーザーの追加(git ユーザーを追加します)
# sudo adduser git
認証鍵でのログインしか受け付けない場合は鍵の作成
# cd ~/.ssh
# ssh-keygen -t rsa
# cat id_rsa.pub >> authorized_keys
# cd ~
# chmod 701 /home/git #ユーザーのフォルダを指定 今回の場合git
# chmod 700 .ssh
# chmod 600 .ssh/authorized_keys

念のためサーバーをリブートして、普通にSSHログインできるか確認
gitのサービスのみで、普通のSSHログインをさせない場合は以下のようにします。

# sudo vi /etc/passwd
UID/GIDは違うかもしれませんが、最後の行にこんな感じの行があるはずです
git:x:1000:1000::/home/git:/bin/sh
これを
git:x:1000:1000::/home/git:/usr/bin/git-shell
こうします
※git-shellのインストール先はwhich git-shellでチェックしてそれを記述

もう一度gitのユーザーでログインしてみましょう。
おそらく、すぐログアウトされてしまうはずです。

gitレポジトリの作成
グループで共有させる場合はまず所属するユーザーをグループに参加させます
hoge01をgitグループに参加させる場合以下になります
# gpasswd -a hoge01 git

適当なディレクトリにgitレポジトリを作成します
# mkdir test
# cd test
# git init
複数ユーザーでpushする場合は以下のようにしましょう
# git config –bool core.bare true

別のユーザーで作成した場合は所有権を移しておきましょう
# chown -R git:git ./test
# chmod -R g+wr ./test
# chmod -R g+s #グループで共有させるための設定

アクセス権はssh経由での接続なのでlinuxのファイルシステムを使うことになります。
redmine等でレポジトリ参照をする場合、ローカルのファイルに直接アクセスことになるので、apacheもグループに加える必要があるようです。