1. 程式人生 > >git多使用者管理及許可權控制

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 wang839305939@outlook.com 

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

ssh-keygen -t rsa

然後通過上面公用的使用者名稱就可以從伺服器clone專案了。

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