1

Gitolite 如何检查当前用户是否具有给定存储库的写/读权限?这是由自定义外壳完成的吗?如果是,那么它是如何工作的?

4

1 回答 1

1

它使用ssh强制命令机制来调用 gitolite-shell 脚本。

Gitolite 通过在 ~git/ssh/authorized_keys 中添加类似于以下内容的行来注册用户:

command="/devit_home/users/vobadm/gitpoc/ce7/gitolite/bin/gitolite-shell gitoliteadm",no-port-forwarding,no-X11-for        warding,no-agent-forwarding,no-pty ssh-rsa AAAAB3N

用户 ID 直接从公钥的名称派生而来。

有关更多信息,请参阅“像 gitolite 这样的程序如何工作? ”。

读/写访问是在文件中声明的gitolite.conf

gitolite 的大部分功能都在conf/gitolite.conf文件中,该文件指定了 repos 的详细访问控制。
除了添加用户之外的一切都发生在这个文件中。

    @staff              =   dilbert alice           # line 1
    @projects           =   foo bar                 # line 2

    repo @projects baz                              # line 3
        RW+             =   @staff                  # line 4
        -       master  =   ashok                   # line 5
        RW              =   ashok                   # line 6
        R               =   wally                   # line 7
于 2013-04-10T09:01:43.807 回答