Gitolite伺服器的管理

2021-06-27 13:16:21 字數 1669 閱讀 9055

搭建好gitolite伺服器後, 伺服器端會生成乙個用於gitolite自管理的git庫.通過git clone git@ip:gitolite-admin命令可以轉殖這個庫進行gitolite的管理

conf/gitolite.conf    是乙個授權檔案, 通過它配置各個使用者對各個版本庫的訪問許可權, 後面會詳細講它的語法

keydir/   用於儲存使用者的ssh公鑰

新增使用者, 也就是允許新使用者通過其公鑰訪問gitolite的服務. 具體的操作步驟如下

1. 管理員從使用者獲取其ssh公鑰, 並將公鑰以username.pub來命名, 為授權檔案使用的時候提供方便.

2. 管理員將從使用者處取得的公鑰複製到gitolite-admin/keydir目錄下

3. git add keydir/username.pub

4. git commit -m "add user username"

5. git push

此時檢視伺服器端git使用者目錄下的.ssh/authorized_keys檔案會發現新增的使用者公鑰已經在裡面了

通過修改gitolite-admin/conf/gitolite.conf的配置, 然後提交改動. 就完成了授權動作.

授權檔案的語法

1. 使用@符號定義使用者組 後面可以加乙個或多個使用者名稱, 各個使用者名稱使用空格進行分割

如@team_android = user1 user2 user3

組是可以巢狀的

如@staff  = @team_android user3

2. 使用repo 定義乙個版本庫

如 repo project/android

repo project/ios

3. 使用r w +分別控制使用者對版本庫的讀寫和強制更新的許可權

如 repo project/android

rw+      =         user6

指定user6對版本庫project/android有讀寫和強制更新的許可權.

4. gitolite還支援通過正規表示式來指定版本庫授權

如 repo ossxp/.+

rw        @team_android

5. gitolite支援使用者對版本庫某個分支的授權

如 repo testing

rw       master        junio

rw+     pu               junio

6. 通過repo指定版本庫的時候支援前面帶目錄的形式

如 repo  sandbox/test1/android

授權關鍵字

c                        代表建立   僅僅在萬用字元版本庫授權時可以使用, 用於指定誰可以建立與萬用字元匹配的版本庫

r                        唯讀

w                       讀寫

rw+                 除了讀寫還可以執行非快進式推送

rwd、rwd+只有當授權指令中定義了正則引用(正規表示式定義的分支、里程碑等)   時才可以使用此授權指令

d的含義是允許刪除和正規表示式匹配的引用, +的含義是允許強制推送

rwcd、rw+cd 各個字母的含義同上.

基於Gitolite管理的Git伺服器搭建v1 0

客戶端 在此為方便測試,就不再另外建立使用者,直接使用客戶端root使用者即可生成金鑰對,注意,此處生成的金鑰隊需要和用於ssh鏈結的金鑰對區別開來。cd root ssh keygen f ssh oreki將生成的公鑰 my.pub 上傳到伺服器的以備用 scp ssh oreki.pub dr...

mysql 伺服器 管理 MySQL伺服器元件

mysql伺服器元件 mysql server包括用於擴充套件伺服器功能的基於元件的基礎結構。元件提供伺服器和其他元件可用的服務。就服務使用而言,伺服器是乙個元件,與其他元件相同。元件僅通過它們提供的服務進行互動。mysql發行版包含幾個實現伺服器擴充套件的元件 用於配置錯誤日誌記錄的元件。請參見 ...

管理伺服器和受管伺服器

1.首先根據主機的相同與不同,上面的ip位址一樣就可以啟動管理伺服器好之後啟動受管伺服器連線即使主機不同,但是ip相同會自動間隔10秒去連線。有個檔案代表設定10秒自動連線ip位址 2.如果不同主機不同ip,如果是在windows,先啟動管理伺服器再啟動受管伺服器 在windows上建立乙個base...