gpt4 book ai didi

来自 Windows 的 git push 验证将作者设置为未知

转载 作者:太空狗 更新时间:2023-10-29 13:50:56 26 4
gpt4 key购买 nike

我最近在 Ubuntu 服务器上的私有(private)网络中设置了一个新的 gitosis。网络中的所有其他客户端都是 Windows XP 机器,除了一个 Linux 客户端

我在 gitosis.conf 中有以下设置:

[group MyProjectTeam]
writable = MyProjectRepo
members = user1 user2 user3

我还在 keydir 中放置了 user1.pub、user2.pub 和 user3.pub key 文件。 key 是使用 ssh-keygen 在 Ubuntu 服务器上生成的,并分发给各个用户。公钥的副本放在 keydir 中。

前两个用户是 Windows XP 用户,他们使用 msysgit + TortoiseGit 来处理存储库,一个用户在 Linux 机器上使用默认命令行版本的 git 访问存储库。

现在一切都设置好了,每个人都可以做他们期望做的任何事情,他们可以 pull 、推、提交 - 一切看起来都很好,除了我们检查日志时!!!

在 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 的钩子(Hook)预接收可以在这里提供帮助,但我不知道如何使用它...有人可以帮忙吗?

谢谢, pull 克什

更新:

感谢您的回答。

alexandrul,我没有设置全局设置,这是因为我希望每个用户的信息都应该真实记录。

Squelch,你是对的我可以看到省略用户名的用户,但我该如何强制他们这样做。我可以告诉他们配置他们的本地项目项目并设置用户名和电子邮件地址,但是如果有人使用假用户名或试图使用其他人的用户名和电子邮件地址,基本上是试图冒充他人怎么办?

这就是为什么我想为什么不记录私钥文件的名称,例如我已将用户 1 的文件名设置为 user1.ppk,用户 2 的文件名为 user2.ppk。在这种情况下,即使有人试图冒充他人,他们也不会成功,因为用于检查的 key 名称会告诉我真相。

有什么想法吗???

问候, pull 克什

更新 2:

感谢您的帮助。 Squelch,感谢您花时间详细解释。我认为电视的蜘蛛网有很多信息,现在就读。

到目前为止,我所做的一件事是:要求我的用户更新他们的配置以包含用户名和电子邮件地址。但我必须解决这个问题,因为我无法追逐每个用户。

我想要像 SVN+SSH 这样的东西,我们在 key 文件中使用隧道用户名,它会用 SVN 记录。

最佳答案

您是否尝试过使用以下命令设置用户名:

// global settings
$ git config --global user.name "FirstName LastName"
$ git config --global user.email "user@example.com"

// for a specific project
$ git config user.name "FirstName LastName"
$ git config user.email "user@example.com"

编辑:全局设置存储在 HOME 环境变量指定的文件夹中,每个 Windows 用户都应该是唯一的,因此您将拥有有关登录用户的真实数据。

关于来自 Windows 的 git push 验证将作者设置为未知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1413862/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com