我最近在Ubuntu服務器的專用網絡中設置了一個新的gitosis。在網絡中的所有其他客戶端的Windows XP機器,除了一個Linux客戶端從Windows套作者到未知的git push驗證
我有以下的gitosis.conf的設置:
[group MyProjectTeam]
writable = MyProjectRepo
members = user1 user2 user3
我也放在user1.pub,user2.pub和user3.pub密鑰文件在keydir。密鑰是在Ubuntu服務器上使用ssh-keygen生成的,並分發給各個用戶。公鑰的副本放在keydir中。
一兩個用戶,他們使用msysgit + TortoiseGit與倉庫工作Windows XP用戶,一個用戶是Linux機器上訪問使用Git的默認命令行版本的存儲庫。
現在一切都設置好,每個人都可以做任何他們希望,他們能夠拉,推,提交 - 一切看起來除了當我們檢查日誌罰款!
Linux機器上使用用戶3,我試圖「git的日誌」命令,並得到了以下的輸出:
commit 1b249e239d270b814aab31eed7dc6f04ceceba32
Author: User3 <[email protected](none)>
Date: Fri Sep 11 07:26:58 2009 +0530
modifed by user3
commit 646f8b11a715273dc26280fc1da2507c997f981c
Author: unknown <[email protected](none)>
Date: Fri Sep 11 07:10:56 2009 +0530
modified by user2
commit 9f86dc7a6bfafc1c1e520d6de3dac7c613ac85cb
Author: unknown <[email protected](none)>
Date: Fri Sep 11 06:50:22 2009 +0530
modified
commit b1a3b64005795f9592aae05c422c70a03dbb9b58
Author: admin <[email protected](none)>
Date: Fri Sep 11 06:18:54 2009 +0530
test file added by admin
這是不正確的。這個日誌應該能夠告訴我誰是Push的作者。我覺得它給Linux上的用戶提供正確的值作爲他們的用戶名和電子郵件也添加在Linux用戶信息中,但對於Windows客戶端來說它不是真實的,所以他們的名字不能正確顯示。但即使我在Windows計算機上修改了名稱,也可以通過模擬其他用戶名來降低這個名稱,以避免這種情況,我不想依賴用戶名。
我想在SSH文件提供的名稱出現在那裏,或用推的同時要添加爲作者的SSH文件的名稱。
可能是Git的鉤預先收到可以幫助在這裏,但我不知道如何使用它...任何人可以幫助?
感謝, 拉克什
UPDATE:
感謝答案。
alexandrul,我還沒有設置全局設置,這是因爲我希望每一個用戶的信息應據實記錄。
靜噪,你是正確的,我可以看到誰是省略了用戶名的用戶,但我怎麼強制他們這樣做。我可以告訴他們配置他們的本地項目項目,並設置用戶名和電子郵件地址,但如果某人使用假的用戶名或嘗試使用其他用戶名和電子郵件地址,基本上會嘗試去扮演其他人?
這就是爲什麼我想爲什麼不記錄私鑰文件的名稱,例如我爲user1設置文件名爲user1.ppk,對user2類似user2.ppk。在這種情況下,即使有人試圖扮演其他人也不會成功,因此用於檢查的關鍵名稱會告訴我實情。
任何想法???
問候, 拉克什
更新2:
感謝您的幫助。 Squelch,感謝您花時間在很多細節上解釋。我認爲電視的蜘蛛網有很多信息,現在閱讀。
截至目前我所做的一件事是:要求我的用戶使用更新他們的配置來包含用戶名和電子郵件地址。但我必須解決這個問題,因爲我無法追逐每個用戶。
我想要類似SVN + SSH的地方,我們在密鑰文件中使用tunnled用戶名,並使用SVN進行錄製。
+1 nice answer() – alexandrul 2009-09-27 10:31:22