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版本库具有写操作。写操作自动包含了读操作。