Gerrit整合Gitweb,普通成員沒有檢視許可權

2021-07-28 09:55:12 字數 955 閱讀 4190

情景復現

gerrit整合gitweb後,系統管理員有許可權進去gitweb,其他成員進去都是not found。

問題分析

除了管理員之外,其他許可權組成員都無法檢視gitweb的資訊。嘗試給小組成員分配各個屬性,包括可以檢視資料庫database的許可權,問題依舊。

the problem is: repo owner and gerrit administrator has implicit access to refs/meta/config … and thus an extra bit is need on the if() checking permissions.』。

看來gitweb的許可權需要具備ref/*節點下面的read許可權,『make read access to refs/meta/config by default exclusive to project owners 』這個設定做在了all-projects的acl設定裡,所以預設被所有的project繼承。

解決方案

在單獨專案的acl裡為專案的使用者組增加了對refs/meta/config的read許可權。使用者可以正常顯示gitweb頁面。

不良影響

原來gerrit是用git做自身的acl管理的,因此所有對refs/meta/config有read許可權的使用者都可以在project的access頁面裡修改許可權,修改後雖然不能直接submit,

但是可以作為patch提交review。而且通過gitweb就能夠看到project.config和groups檔案的全部內容,知道當前專案是如何設定許可權的。

這樣是否合適就仁者見仁智者見智了。另外,對於使用者提交的關於許可權修改的patch如果想commit的話需要對refs/meta/config做和refs/heads/*一樣的許可權設定,

也就說需要label code-review,label verified,submit三個許可權才有可能commit patch。

Gerrit新增及刪除普通使用者

第一步 建立使用者 伺服器命令 gerrit安裝路徑 home gerrit xx home gerrit sudo htpasswd m gerrit.password username此命令會提示輸入初始密碼。什麼是 htpasswd htpasswd 是開源 http 伺服器 apache h...

2 整合管理

相互競爭的目標 範圍 進度 成本 質量。多快好省。技術與管理工作間的衝突 領導與員工間相互不爽。所需要的不同技術專業之間 不同的技術。專案管理各知識領域之間 要平衡不同的領域花費的時間 成本。三邊四沒六拍 三邊 邊走,邊看,邊抱怨 四沒 開始時,沒問題 過程中,沒關係 失敗時,沒辦法 總結時,沒資源...

環信3 0整合

以前用過環信2.0,現在工作需要,重新用到環信,再次體驗了一次環信。開發環境 androidstudio 整合步驟 2 匯入easeui 3 配置androidmanifest easeui.getinstance init context,options 5 複製環信demo的chatactivi...