您的位置:首页 > 其它

gitolite管理员操作以及新用户添加

2013-08-05 13:49 302 查看
1. Gitolite admin用户的添加:

— 本地gitadmin机器上单独建立一个gitadmin账户,将gitolite.rsa和gitolite.rsa.pub,复制到 /home/gitadmin/.ssh 之中,随后执行如下命令:

— chmod 700 /home/gitadmin/.ssh

— cd /home/gitadmin/.ssh

— chmod 600 gitolite.rsa

— chmod 644 gitolite.rsa.pub

— ln -sf gitolite.rsa id_rsa

— ln -sf gitolite.rsa.pub id_rsa.pub

随后git clone git@sxdevel.sdo.com:gitolite-admin.git克隆管理员仓库

2. 增加新用户

2.1  用户生成私钥公钥对:ssh-keygen(在usrname/.ssh下面)
2.2  gitadmin操作:
1. 将用户的公钥添加至keydir:
[code]     —  用gitolite admin账户:sudo su – gitadmin
—  cd gitolite-admin/
—  cd keydir
     —  cp ~usrname/.ssh/公钥名 ./
[code] — git add usrname.rsa.pub
—  git commit -m "add usrname"
—  git push
2. conf中单个项目权限添加:
— gitadmin@ebdev-ThinkCentre-XXXX:~/gitolite-admin/conf$ pwd
/home/gitadmin/gitolite-admin/conf
— gitadmin@ebdev-ThinkCentre-XXXX:~/gitolite-admin/conf$cat gitolite.conf
repo projectname
RW+ = @all
[/code]
2.3 git 服务器上操作:

1. 单个项目下gl-conf全线配置:

[root@localhost bbtouch.git]# pwd

/home/git/repositories/projectname.git

[root@localhost bbtouch.git]# vim gl-conf


%one_repo = (

' projectname ' => {

'@all' => [

[

2,

'RW+',

'refs/.*'

]

]

}

);

2. 用户公钥添加至authorized_keys
[root@localhost .ssh]# pwd
/home/git/.ssh
[root@localhost .ssh]# vim authorized_keys
# gitolite start
command="/home/git/works/gitolite/src/gitolite-shell usrname.rsa",usr.rsa.pub中
需要将新用户的公钥文件中内容按格式拷贝到此


2.4 新增用户可以自行获取代码:git clone git@sxdevel.sdo.com:projectname.git

3. 查看创建的projectname.git是否归属git:ls -l

如果不是将会造成push失败:

cd /home/git/repositories/projectname.git

chown -R git.git *

补充两个查资料的时候看到的,结果我没有用上的,觉得应该会有用:

1. 做个初步的授权规划。

人员分成4组,管理员,开发者,测试人员和普通员工。好动手

$ vi conf/gitolite.conf

增加以下内容:

@admin = minstrel

@dev = zhangsan

@test = lisi

@staff = wangermazi

repo gitolite-admin

RW+ = @admin

repo hzjf/.+

C = @admin @dev

RW =@admin @dev

R = @staff @test

repo testing

RW+ = @admin@dev @test

$ git add conf/gitolite.conf

$ git commit -q -m "初步规划了组成员的权限"

$ git push

2. 有时候新添加账户不能立即生效,需要在git服务器上重启 sshd;

linux下 : $sudo service sshd restart

cygwin: $net stop sshd; $net start sshd
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: