========================================
接...如何在 Synology NAS 設置 GIT 伺服器 (1/2)
以上軟體都安裝好了, 接著設置一個共用的 SSH 帳號(*)能在 GIT 專案裡使用...
NOTE: (*) 此採取一個共用的 SSH 帳號登入而已, 但各自能以 GIT client 端設置自己的名字 commit.
14. 在 NAS 建立新使用者及共享目錄NOTE: (*) 此採取一個共用的 SSH 帳號登入而已, 但各自能以 GIT client 端設置自己的名字 commit.
a) 進入 NAS WEB 管理頁面
b) 控制台 -> 共用資料夾, "新增" 一個新共用資料夾, 名稱 "git-repo"
c) 控制台 -> 使用者帳號, "新增" 一個新使用者, 名稱 "git.user"
在 "權限設定 - 共用資料夾" 頁面, 在 "git-repo" 的 "可讀寫" 打勾.
P.S. 以上各名稱可以自訂.
15. 修改 git.user 登入的家目錄, 跟 shell
a) 在 Windows 下執行 SSH client (PuTTY) 以 'root' 登入至 NAS
NOTE: 要求輸入密碼時請直接鍵入網頁管理頁面(admin)用的密碼.
b) 編輯 /etc/passwd 文件.
DiskStation> vi /etc/passwd
P.S. 1. vi 預設一進入為 command mode, 左下方有一個 '-' 號
移動游標 (方向鍵, 或 'h/j/k/l') 至想要編輯的地方
2. 按 'i' (進入 insert mode, 左下方有一個 'I' 號)
3. 結束編輯後, 按 'Esc' key 回到 command mode
4. 不存檔離開, 輸入 :q! 按 'Enter'
存檔離開, 輸入 :wq 按 'Enter' 或直接輸入 ZZ
c) 修改 "git.user" 那一行由
git.user:x:1029:100:(描述):/var/services/homes/git.user:/sbin/nologin
-->
git.user:x:1029:100:(描述):/volume1/git-repo:/bin/ash
16. 設置 /volume1/git-repo 目錄
NOTE: 建議修改 /volume1/git-repo 權限, 只有擁有者可讀寫.
DiskStation> chmod 700 /volume1/git-repo
a) 切換至 git.user
DiskStation> su - git.user
b) 確認此時家目錄已經為剛剛修改的路徑.
DiskStation> pwd
/volume1/git-repo
c) NOTE: 參考網站此時有做建立 .profile .ssh authorized_keys 的動作, 但我沒做, 目前示每次連線都要輸入密碼, 不確定是否還有其他影響.
17. 測試建立一個新的 git 庫
DiskStation> mkdir test
DiskStation> cd test
DiskStation> git init --bare
Initialized empty Git repository in /volume1/git-repo/test/
DiskStation> ls
HEAD config hooks objects
branches description info refs
18. 測試連線抓上面的 git 庫
Windows 端開啟 GIT Bash, 要求輸入密碼的地方(**), 輸入建立 git.user 時的私人密碼.
$git clone ssh://git.user@11.22.33.44/volume1/git-repo/test
Cloning into 'test'...
git.user@11.22.33.44's password:
warning: You appear to have cloned an empty repository.
$ls -a test/
. .. .git
或用 TortoiseGIT clone 頁面, URL 處輸入 "ssh://git.user@11.22.33.44/volume1/git-repo/test" 後按確定, 會彈出要求輸入密碼, 輸入後按確定.
NOTE: (**)參考網站有一個步驟我沒有做, 應該可以避免每次連線都要輸入 SSH 密碼...Add public keys of your git users in...authorized_keys, 等下次有空再來試試看這個設置.
19. 測試 commit and push (to server)
(這裡省略了, 就是那些基本的 git 操作...)
參考 How to setup a git server on a Synology NAS
版主您好,這邊想麻煩請教您一個問題:
回覆刪除我按照您的"如何在 Synology NAS 設置 GIT 伺服器"一直進行到步驟16的a時,在切換user上遇到了一點狀況,輸入
"su - git.user"
後,系統顯示
"su: must be suid to work properly"
,暫不理會他,輸入
"pwd"
,系統卻只顯示
"/"
也就是路徑是空白的。
到這邊該如何處理比較好呢?
謝謝~
您好: 我不清楚為什麼 su 無法執行, 可能是你的 shell 安裝, 可以 google "must be suid to work properly", 看看有無幫助, 另外, 我在後來的新機器上, 發現其實不改 git.user 的 home 目錄應該不妨礙 git 操作的. 就是每次 access remote 會先出一段無法切換 home 訊息, 然後 git 操作還是會成功.
刪除