最近、Ubuntu サーバーのプライベート ネットワークに新しい gitosis をセットアップしました。ネットワーク内の他のすべてのクライアントは、1 つの Linux クライアントを除いて Windows XP マシンです。
gitosis.conf で次のように設定しています。
[group MyProjectTeam]
writable = MyProjectRepo
members = user1 user2 user3
また、user1.pub、user2.pub、および user3.pub キー ファイルを keydir に配置しました。キーは ssh-keygen を使用して Ubuntu サーバー上で生成され、それぞれのユーザーに配布されました。公開鍵のコピーは keydir に配置されます。
最初の 2 人のユーザーは Windows XP ユーザーで、msysgit + TortoiseGit を使用してリポジトリを操作し、1 人のユーザーは Linux マシン上でデフォルトのコマンド ライン バージョンの git を使用してリポジトリにアクセスします。
これですべてが適切にセットアップされ、誰もが期待どおりのことを実行できるようになりました。プル、プッシュ、コミットが可能になりました。ログを確認するときを除いて、すべて問題ないようです!!!
Linuxマシンでuser3を使用して、「git log」コマンドを試したところ、次の出力が得られました。
commit 1b249e239d270b814aab31eed7dc6f04ceceba32
Author: User3 <Admin@ubuntu-server.(none)>
Date: Fri Sep 11 07:26:58 2009 +0530
modifed by user3
commit 646f8b11a715273dc26280fc1da2507c997f981c
Author: unknown <Admin@.(none)>
Date: Fri Sep 11 07:10:56 2009 +0530
modified by user2
commit 9f86dc7a6bfafc1c1e520d6de3dac7c613ac85cb
Author: unknown <Admin@.(none)>
Date: Fri Sep 11 06:50:22 2009 +0530
modified
commit b1a3b64005795f9592aae05c422c70a03dbb9b58
Author: admin <Admin@ubuntu-server.(none)>
Date: Fri Sep 11 06:18:54 2009 +0530
test file added by admin
これは正しくありません。このログは、Push の作成者が誰であるかを教えてくれるはずです。私が感じているのは、ユーザー名と電子メールが Linux ユーザー情報にも追加されるため、Linux のユーザーに正しい値を与えることですが、Windows クライアントの場合は正しくないため、名前が正しく表示されません。しかし、Windows マシンで名前を修正したとしても、他のユーザー名をエミュレートすることでこれが損なわれる可能性があります。これを避けるために、ユーザー名に依存したくありません。
SSHファイルで提供された名前がそこに表示されるか、プッシュ中に使用されたSSHファイルの名前が作成者として追加されるようにします。
git のフック pre-receive がここで役立つかもしれませんが、使い方がわかりません... 誰か助けてくれますか?
ありがとう、ラケシュ
アップデート:
回答ありがとうございます。
alexandrul、私はグローバル設定を設定していません。これは、すべてのユーザーの情報を正しくログに記録する必要があるためです。
スケルチ、あなたは正しいです。ユーザー名を省略しているユーザーを確認できますが、そうするように強制するにはどうすればよいですか。ローカル プロジェクト プロジェクトを構成し、ユーザー名と電子メール アドレスを設定するように指示することはできますが、誰かが偽のユーザー名を使用したり、他の誰かのユーザー名と電子メール アドレスを使用しようとしたり、基本的に他の人のなりすましを試みたりした場合はどうなりますか?
そのため、秘密鍵ファイルの名前をログに記録しない理由を考えました。たとえば、user1 のファイル名を user1.ppk に設定し、user2 の user2.ppk に設定しました。そのような場合、誰かが他人を偽装しようとしても成功しないため、チェックに使用されるキー名が真実を教えてくれます。
何か案は???
よろしく、ラケシュ
更新 2:
手伝ってくれてありがとう。Squelch さん、時間を割いて詳しく説明していただきありがとうございます。テレビのクモの巣は情報が多いと思いますので、今読んでみてください。
今のところ、私が行ったことの1つは、ユーザーに構成を更新してユーザー名と電子メールアドレスを含めるように依頼したことです。しかし、ユーザーごとに追跡できないため、問題を解決する必要があります。
キーファイルでtunnledユーザー名を使用し、SVNで記録されるSVN + SSHのようなものが必要です。