Skip to content

Instantly share code, notes, and snippets.

@yuga
Created January 9, 2013 06:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yuga/4491043 to your computer and use it in GitHub Desktop.
Save yuga/4491043 to your computer and use it in GitHub Desktop.
去年の2月に書いたメモらしい。 自分用メモのテキストファイルに記録されている文章だと思うんだけど、書いたこと自体を完全に思い出せなくなっているので、もしかすると誰かのコピペだったりして(ドキドキ)。
■2012/02/20
(15:32:48 +0900)
バージョン管理ソフト Git にアクセス制御機能を追加する gitolite というのを試してみました。
アクセス制御しても、Gitはリポジトリを簡単に clone できるので、
誰かが公開してしまうことが容易なことを考えるとあんまり意味ないような気がしますが、
みんなで共有リポジトリを立てて使う場合に、そこへのアクセスを容易に制御できるようになります。
gitoliteはSSHベースで動作します。外部からgitoliteでアクセス制御されているgitリポジトリに
アクセスするとき、リポジトリのあるOS上に作成されたgitoliteというユーザーとして接続します。
すべてのアクセスは同じgitoliteユーザーで行われることになるので、gitoliteでは個々のユーザーの識別に、
アクセスの際のSSH接続に使用した公開鍵のファイル名から拡張子 .pub を取り除いて、残りをユーザー名
として使用します。したがって、gitoliteでのユーザー管理のうち、ログイン可能なユーザーの追加削除と
いった作業は、gitoliteに登録する公開鍵の追加削除で行います。
ユーザーがどのリポジトリにどんなアクセスが可能かを指定するのは、gitolite.confという簡単な
テキストファイルの編集で行います。
-------------------------------------------------------------------------------
@admin = id_gitolite_rsa # @adminグループに、ユーザー id_gitolite_rsa を追加
@user = shohei_murayama # @userグループに、ユーザー shohei_murayama を追加
repo gitolite-admin
RW+ = id_gitolite_rsa
repo smap
RW = @user # 読み書き
RW+ = @admin # リポジトリの巻き戻し
-------------------------------------------------------------------------------
CentOSでは、リポジトリにEPELを加えると、gitoliteを簡単にインストールすることができます。
# yum install gitolite
あらかじめ管理者用の公開鍵/秘密鍵のペアを用意しておき、公開鍵をgitoliteをインストールした
サーバー上にコピーします。
# su gitolite
# gl-setup id_gitolite_rsa.pub
gl-setupコマンドを実行することで /var/lib/gitolite に環境が構築されます。
/var/lib/repositories に gitolite-admin と testing の2つのレポジトリが自動生成されます。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment