Pages Menu
Rss
Categories Menu

Posted on 一月 10, 2015 in Linux

使用 SSH 完成 Git 服務管理

Git 是一個很好的分散式版本控制管理機制,本文介紹使用 Git 經由 SSH 完成傳送,並且搭配 Linux 本身的安全管理機制完成不同專案間不同開發成員的權限控制。

本文實作目標

  1. git 版控目錄於 /git/projects
  2. 所有專案目錄位置 /git/projects/${prj_name},本例為 worldhappy 專案
  3. 專案目錄中,協同開發人員均加入該專案群組,群組內人員可以新刪修專案內容
  4. 不屬於該專案人員的使用者無權限存取
  5. 系統開立開發人員帳戶,預設群組為 git,但僅有使用 git 版控功能,不可登入系統
  6. 開發人員使用 ssh key pair 登入 git 版控系統,而不使用帳號密碼登入
  7. ssh key pair 由系統管理人員建立分發

伺服器設定

安裝 git 套件

建立 /git/projects 目錄

專案設定(本例為 worldhappy)

新增 worldhappy 群組

建立 /git/projects/worldhappy 專案版控目錄

設定 /git/projects/worldhappy 底下所有新增的檔案與目錄群組會自動套用成 worldhappy

顯示設定結果

設定 git 初始化,所有新增檔案目錄權限均為使用者本身與群組可讀寫,其它人員則無權限

查看初始化後結果

人員群組設定

新增 git 群組

建立 key pair 管理目錄(可自訂,本例為 /root/git-key-manage)

設定 git 使用者 jason.wang
新增帳戶 jason.wang,其預設群組為 git、登入 shell 為 /usr/bin/git-shell

設定使用者專案連結

設定使用者 key pair,該 key pair 無 passphrase

複製 key pair 至管理目錄中,該 key pair 可發佈給使用者,使用者需自行保存好

TortoiseGit 設定

使用 TortoiseGit 存取專案資料

  1. jason.wang 可存取 worldhappy 專案
  2. git 目錄為登入後 projects/worldhappy
  3. 使用者取得 key pair 後,需將 pey pair 轉為 ppk 格式

設定 jason.wang 加入 worldhappy 群組

複製 Git 檔案

001

設定 Repository 位置,在 URL 中輸入帳號與伺服器位置,專案目錄則位於家目錄的 projects/worldhappy 中。
002

 

003

Clone 完成後的成果。

004

// Steven

468 ad