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