私有git服務多用戶管理及權限控制

用過svn的朋友都知道,每個開發者都需要一個svn賬號,通過這個查看項目的提交記錄,可以更加清楚項目的開發情況,便於版本控制。git也是如此。所以我們說其實git在很多方面和svn是很相識的。
提到用戶,那麼用戶的管理和權限控制就是避不開的話題了。
一.新建用戶
新增git賬號其實就是添加一個系統用戶,將這個用戶作爲git賬號:
這裏寫圖片描述
首先建新增用戶,然後爲了避免git用戶登錄操作系統,可以將新增用戶的shell改爲git-shell;這樣該用戶就無法登錄操作系統,但是不會影響他提交和更新的操作。
創建遠程倉庫
這裏寫圖片描述
保證用戶對這個文件夾有讀寫權限(我這裏直接將git用戶的主目錄指向該文件夾,這樣改用戶就擁有對改文件的讀寫權限了)

usermod -d /gitResp git

在本地clone項目
這裏寫圖片描述
要是能成功clone代碼 那麼該用戶就建立成功了。

二 權限管理
1.最簡單的方法
最簡單的方式就是添加用戶,然後設置用戶對某個文件夾得讀寫權限就行了。這種方式是最簡單的。除了創建用戶,最好再創建不同的用戶組,然後江將不同的項目文件件歸屬於不同的用戶組,最後通過控制賬戶的所屬用戶組來實現不同用戶對於不同項目的讀寫權限。
這裏寫圖片描述
通過上面用戶+用戶組的方式就可以管理多個用戶了。
但是如果有幾十個開發者,那就意味着你要新建幾十個用戶。就算你不厭其煩的添加了幾十個用戶,但是管理這幾十個用戶,也不是一件很方便的時。這個是時候往往可以使用下面提到的這種方法。
2.公鑰登錄
公鑰登錄的好處有:
1)免密碼檢驗,不用每次提交或者更新都需要密碼。
2)不用建立n多個用戶。讓多個git用戶公用同一個git用戶。
具體操作:
首先在共用的用戶主目錄下建立.ssh文件夾

mkdir .ssh

進入.ssh

cd .ssh

執行ssh-keygen -t rsa 生成祕鑰對

ssh-keygen -t rsa 

新建authorized_keys文件保存公鑰(多個公鑰換行處理)

touch authorized_keys 

將前面生成的id_rsa.pub複製到authorized_keys
這裏寫圖片描述

這個需要在開發者電腦生成公鑰,然後上傳到git服務器上,保存在authorized_keys中。
首先在客戶端設置用戶名和郵箱,這個不不是登錄用戶,可以看做是一個別稱,用來跟蹤代碼提交記錄的。

git config --global user.name "yangyangwang"

git config --global user.email [email protected] 

然後在客戶端運行ssh-keygen -t rsa 生存祕鑰對,然後到相對應的地方將公鑰id_rsa.pub上傳到服務器中git1主目錄的authorized_keys文件中去

ssh-keygen -t rsa

然後通過上面公用的用戶名就可以從服務器clone項目了。

看看是不是很簡單,但是當你實際去搭建環境的時候往往會遇見很多問題,尤其是接觸linux不久的小夥伴。具體的坑你們自己去踩吧。反正步驟就是上面這樣的。
其實上面兩種方式基本上就可以滿足小型團隊的開發工作了。如果是大公司管理成百上千的開發人員,那麼上面的方法就不行了。有興趣的可以去了解一下Gitosis
Gitosis也是通過公鑰的方式來管理權限的。
總結:
如果你只是剛剛開始接觸git不久的開發者,那麼掌握前面兩種方式就好了。畢竟git只是一個版本管理工具,是爲我們服務的。不要弄得太複雜,不要把無限的精力放在權限控制上去。
如果你已經對git有比較好的瞭解了,而前面兩種方式又不能很好的滿足你的需求。那麼你可以學習一下Gitosis
還是那句話,我的文章一般通假字比較多,請見諒!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章