31.2 管理Gitosis

31.2.1 管理员克隆gitolit-admin管理库

当Gitosis安装完成后,在服务器端自动创建了一个用于Gitosis自身管理的Git库:gitosis-admin.git。

管理员在客户端克隆gitosis-admin.git库,注意要确保认证中使用的是正确的公钥:


$git clone git@server:gitosis-admin.git

$cd gitosis-admin/

$ls-F

gitosis.conf keydir/

$ls keydir/

jiangxin.pub


可以看出gitosis-admin目录下有一个配置文件和一个目录keydir。

keydir/jiangxin.pub文件

keydir目录下初始时只有一个用户公钥,即管理员的公钥。管理员的用户名来自公钥文件末尾的用户名。

gitosis.conf文件

该文件为授权文件。初始内容为:


1 [gitosis]

2

3 [group gitosis-admin]

4 writable=gitosis-admin

5 members=jiangxin


可以看到授权文件的语法完全不同于之前介绍的Gitolite的授权文件。整个授权文件以用户组为核心,而非版本库为核心。

〇第3行开始定义了一个用户组gitosis-admin。

〇第5行设定了该用户组包含的用户列表。

初始时只有一个用户,即管理员公钥所属的用户。

〇第4行设定了该用户组对哪些版本库具有写操作。

在这里,配置对gitosis-admin版本库具有写操作。写操作自动包含了读操作。