【发布时间】:2013-04-02 00:07:43
【问题描述】:
Gitolite 如何检查当前用户是否拥有给定存储库的写/读权限?这是由自定义外壳完成的吗?如果是,那么它是如何工作的?
【问题讨论】:
标签: git permissions gitolite
Gitolite 如何检查当前用户是否拥有给定存储库的写/读权限?这是由自定义外壳完成的吗?如果是,那么它是如何工作的?
【问题讨论】:
标签: git permissions gitolite
它使用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文件中,该文件指定了对 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
【讨论】: