除了使用sudo外,注意到在2016年,
libgnome-keyring
是特定于GNOME的,现在已经被弃用(实际上自
2014年1月起)。
2022选项:git-credential-manager
微软提供了一个名为GCM(Git凭证管理器)的跨平台凭证助手,您可以安装(无需构建)和配置:
git-credential-manager-core configure
您需要 Git 2.27+ 才能使用它。
2016选项:git-credential-libsecret
Git 2.11+(2016年第4季度)包含一个使用{{link1:libsecret
}} 的全新凭证助手。
请参见{{link2:提交87d1353}} (2016年10月9日)由{{link3:Mantas Mikulėnas(grawity
)}}完成。
(由{{link4:Junio C Hamano -- gitster
--}}合并于{{link5:提交bfe800c}},2016年10月26日)
一个新的凭证助手已经添加到
contrib/credential/
,它通过"
libsecret"与XDG Secret Service API的实现进行通信。
它使用libsecret
,可以支持其他XDG Secret Service API的实现。
但是在2022年,这将不再需要。请参见上文。
正如mati865在评论中所指出的:
需要注意的是,像Arch和Fedora这样的发行版提供了可用于二进制和源代码的助手。
- Arch上的Libsecret二进制文件:
/usr/lib/git-core/git-credential-libsecret
,以及
- Fedora上的Libsecret二进制文件:
/usr/libexec/git-core/git-credential-libsecret
。
注意:正如@rugk在评论中提到的,对于 Fedora 和 Git v2.25.2-1 或更高版本, 您需要安装一个额外的包来使用该二进制文件,因为它已经从主要的 git 包中分离出来:
dnf install git-credential-libsecret
Git 2.41(2023年第二季度)澄清:
请查看 commit 0a3a972, commit 64f1e65, commit de2fb99, commit 048b673, commit 5747c80, commit 71201ab, commit 16b305c (2023年5月1日) by Taylor Blau (ttaylorr
)。
(由Junio C Hamano -- gitster
--在commit fbbf60a中合并,于2023年5月10日)
共同作者:Jeff King
签署者:Jeff King
签署者:Taylor Blau
libgnome-keyring在2014年已被弃用(改用
libsecret
),
九年多前。
使用libgnome-keyring实现的凭据助手自2013年以来只有少量提交,其中没有一个实现或更改任何功能。
在这个领域做了实质性工作的最后一次提交是
15f7221("
contrib/git-credential-gnome-keyring.c
: support really ancient gnome-keyring",2013-09-23,Git v1.8.5-rc0 --
merge),差不多九年前。
这个凭据助手遭受与上一个提交相同的
fgets()
相关的注入攻击(使用新的“wwwauth[]”特性)。
我们应该删除这个已经被弃用的助手,而不是修补它。