Gitolite如何检查用户的读/写权限?

时间:2013-04-10 08:40:29

标签: git permissions gitolite

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

1 个答案:

答案 0 :(得分:1)

使用ssh forced command mechanism来调用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直接来自公钥名称。

有关详情,请参阅“How do programs like gitolite work?”。

读/写访问权限是declared in the gitolite.conf file

  

gitolite的大部分功能都在conf/gitolite.conf文件中,该文件指定了回购的详细访问控制。
  除了添加用户之外的所有内容都来自此文件。

    @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