用gitolite管理用户权限--转

gitolite 是gitosis用perl重写的,更好用,安全级别应该更高。
参考:  c# I, x# X  D3 _: p; G+ e
- gitolite: http://github.com/sitaramc/gitolite4 f! w; D, G" _2 Z* ?
- Pro Git: http://progit.org/book/ch4-4.html( l+ u* m( A3 u! @9 U) P
我用的是Ubuntu做例子,没有ssh的知识的最好恶补一下,否者不知道会错在哪里 ;-)
服务器(ubuntu 10.2 lucid,用户user, 192.168.56.151)$ p; i+ a7 O! Y& y% f6 s
客户端(windows vista msysgit, 用户larrycai)) V7 r; j  U0 p% C9 o" B. O! n8 v
1 P$ z2 z' Z: C. |; u
1. 下载gitolite包。2 L: c. A. I6 p* [+ M" ^- C( v# F3 ?
我偷懒,直接下载.deb包安装(不再ubuntu缺省中,来的找源)http://packages.debian.org/unstable/main/gitolite , 1.5.3-1 (2010.7.2时是最新的)
  1. user@ubuntu:~$ sudo dpkg -I gitolite_1.5.3-1_all.deb+ P& X! ~- `! F
  2. user@ubuntu:~$ dpkg -L gitolite_1.5.3-1_all.deb
  3. /etc/gitolite
  4. ..9 F7 E0 E: J+ v
  5. /usr/bin/gl-setup
  6. ..
复制代码
安装时会配好git用户。
2. 配置管理员(你的账号如 larrycai)
在客服端(windows vista msysgit)产生密钥对,传送公钥到服务器
  1. (client)
  2. $ ssh-keygen
  3. (密码为空)4 S: N: x8 P1 ]. y$ B3 k! _
  4. $ scp ~/.ssh/id_rsa.pub [email protected]:/tmp/larrycai.pub# {7 b  {& I' _
  5. (server)
  6. user@ubuntu:~$ sudo su - git
  7. git@ubuntu:~$ gl-setup /tmp/larrycai.pub5 f1 U+ m7 e& }; ^& Z6 s, @
  8. ..5 n2 U8 n  r$ q; _4 ^1 w, M$ V
  9. creating gitolite-admin...
  10. Initialized empty Git repository in /home/git/repository/gitolite-admin.git3 r/ l1 N; q) l; O$ t3 s
  11. (client)
  12. $ git clone [email protected]:gitolite-admin
复制代码
如果一切顺利,就配好了,当然80%的可能会在ssh出错。
3. 增加git repository
gitolite的好处是,所有的管理都在gitolite-admin git库中。下面来加个“proj" git repository
  1. $ git clone [email protected]:gitolite-admin
  2. $ cd gitolite-admin) v) w; Y' i7 @( O
  3. (edit conf/gitolite.conf)
  4. $ more gitolite-admin/conf/gitolite.conf
  5.        repo    proj! I! T" X4 Q" r4 h* d# Y
  6.                 RW+     =   @all6 U. v% {3 _, I( s: o( V; x
  7. $ git commit -a -m "add new repo proj"
  8. $ git push
  9. ..6 O8 ^+ K; `$ I" S, F7 A5 `7 _
  10. remote: creating proj..
  11. remote: Initialized empty Git repository in /home/git/repositories/proj.git/.
  12. ..
复制代码
好了现在可以用proj git repository
  1. $git clone [email protected]:proj
复制代码

可以看一下我的blog: http://codeslife.com/?tag=gitolite. s. c+ H! 



http://xxx.scmlife.com/thread-23149-1-1.html

你可能感兴趣的:(windows,user,git,ubuntu,配置管理,服务器)