Linux 使用 Gitolite 架设 Git Server_第1页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、linux 使用 gitolite 架设 git server单纯用法 ssh 架设可见此篇: linux 架设用法 ssh 分享存取的 git server 想要控管 user / project 权限, 而且还想要控管 brah / tag 等读写权限, 则需要靠 gitolite 等套件来帮助. olite ssh-bas gatekeeper for git repositories 此篇主要写的是 gitolite 架设, 若之前已经有依照上述文章架设分享存取的 git server, 而 gitolite 也想用 git 的帐号来管理, 则需做下述动作先改回原始设定. 注: 此文会

2、用 gitolite 的帐号来管理, 不会用 git 帐号, 所以不需要做下述更改的动作 vim /etc/ git:x:1000:1000:/home/git:/usr/bin/git-shell改回git:x:1000:1000:/home/git:/bin/sh /home/git/.ssh/authorized_keys /home/git/.ssh/authorized_keys.bak 相关资料预备 系统: debian / ubuntu linux server: project name: project_name gitosis (git) repository 位置: /v

3、ar/lib/gitolite/repositories debian / ubuntu linux 套件默认位置 group name: myteam 系统套件安装 apt-get install gitolite git-core 安装完成会浮现此讯息: no adminkey given not initializing gitolite in /var/lib/gitolite. 相关设定参考可见 /etc/gitolite/example.conf, /etc/gitolite/example.gitolite.rc 产生 ssh 公钥 ssh-keygen -t rsa 产生 _r

4、sa, id_rsa.pub mv id_rsa /.ssh/ 将 id_rsa 放在 /.ssh/ 内. s id_rsa.pub :/tmp/user1.pub 将 id_rsa.pub 丢到 server 上, 大家的 public key 都需要传到 server 上. scp id_rsa.pub :/tmp/admin.pub 管理者的 key 同 user key, 在此设为 admin.pub, 避开下述内容造成混淆. gitosis server 架设 ssh git server do su gitolite gl- gitolite-admin 会看到下述 conf/gi

5、tolite.conf 设定档, 设定谁可以读写哪个专案的 repository keydir 名目, 放每个帐号的 public key. 放置的档案命名: user1.pub, user2.pub (user1, user2. 为帐号名称(档名 = 帐号), 建议用法 "帐号.pub" 当档名) 设定专案权限 cd gitolite-admin vim conf/gitolite.conf 会看到下述, 不要动他, 于最下方设定自己的 group / 专案名称即可. repo gitolite-admin rw+ = adminrepo testing rw+ = al

6、l 由此档案 新增 / 修改后, commit + push 即可. git clone gitolite:testing 对应 gitolite.conf 的 repo testing, 会浮现下述讯息 cloning into testingwarning: you appear to have cloned an empty repository. cd testing readme git a . git commit -m add readme git push origin master cd gitolite-admin cp /tmp/user1.pub keydir/user

7、1.pub 请依如实际帐号命名, 不要取 user1, user2 cp /tmp/user1.pub keydir/user1machine.pub 若相同帐号, 则用法 usermachine.pub cp /tmp/user2.pub keydir/user2.pub git add keydir/user1.pub keydir/user1machine.pub keydir/user2.pub git commit -m add user1, user1machine, user2 public key git push gitolite.conf 更多设定条件 下述摘录自: git

8、olite 构建 git 服务器 授权用法者建立属于自己的空间 (user 下面可以建 n 个 repository), 在此就不记载, 请自行详见: 此文的 章节 2.4.3 取自 2.3.1 授权文件基本语法admin = jiangxin wangsheng repo gitolite-admin rw+ = jiangxin repo ossxp/.+ c = admin rw = all repo testing rw+ = admin rw master = junio rw+ pu = junio rw cogito$ = pasky rw bw/ = linus - = som

9、ebody rw tmp/ = all rw refs/tags/v0-9 = junio 取自 2.3.3 aclrepo testing rw+ = jiangxin admin rw = dev test r = all gitolite.conf 语法解释 repo 语法 repo 语法: 权限 零个或多个正规表示式批配的引用 = user user . 每条命令必需指定一个权限, 权限可以用下面任何一个权限的关键字: c, r, rw, rw+, rwc, rw+c, rwd, rw+d, rwcd, rw+cd c : 建立 r : 读取 rw : 读取 + 写入 rw+ : 读取

10、 + 写入 + 对 rewind 的 commit 做强制 push rwc : 授权命令定义 regex (regex 定义的 branch、tag 等), 才可以用法此授权命令. rw+c : 同上, c 是允许建立 和 regex 配对的引用 (branch、tag 等) rwd : 授权命令中定义 regex (regex 定义的 branch、tag 等), 才可以用法此授权命令. rw+d : 同上, d 是允许删除 和 regex 配对的引用 (branch、tag 等) rwcd : 授权命令中定义 regex (regex 定义的 branch、tag 等), 才可以用法此授

11、权命令. rw+cd : c 是允许建立 和 regex 配对的引用 (branch、tag 等), d 是允许删除 和 regex 配对的引用 (branch、tag 等) - : 此设定为不能写入, 但是可以读取 注: 若 regex 不是以 refs/ 开始, 会自动于前面加上 refs/heads/ all 代表全部人的意思 myteam user1 user2 : user1, user2 都是属于 myteam 这个群组 常用 下述所有都在 gitolite-admin.git 内操作 新增帐号 cp /tmp/user1.pub keydir/user1.pub 注重: 档名要取 "帐号.pub" 新增专案 vim conf/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论