【git】报错unsafe repository xxx is owned by someone else解决方法

git近期进行了版本升级,添加了新的目录安全限制。造成在进行git常规操作时,或在各类编辑器如VSCode中无法发现.git文件,报错:

fatal: unsafe repository(xxx is owned by someone else.)

To add an exception for this directory, call

git config –global –add safe.directory

方案一 忽略单个目录

哪个目录里有git,就通过命令行添加哪个目录,多个目录,多次添加。

git config --global --add safe.directory D:/www/your-project
git config --global --add safe.directory D:/www/other-project

方案二 忽略全部文件夹

可以通过加通配符为*,忽略所有文件夹。需要注意,该处理方法一般适用于只有本人一个用户使用的电脑,确保无其它用户,否则存在安全问题。见下方详述。

git config --global --add safe.directory "*"

相关内容

本次安全升级的名称为CVE-2022-24765,主要想防范在多用户主机上,通过创建上级目录的方式,进行git配置的篡改。

原有的git机制是,如果本级目录下没有.git目录,它会向上级目录(父级)查找.git目录,直到查找到为止。这种机制下,如果有恶意人员借助共享目录的权限,在最上级目录创建.git文件,可能导致用户误操作在非项目目录中操作git时,将会使用恶意人员部署的git配置。

所以这次git增加了限制,在逐层读取git配置时,同时检查文件所有权人,如果非本用户,则停止。如果想添加例外,则需要使用上面提到的 safe.directory。

该漏洞反馈者是中国科学院大学网络空间安全专业的博士,大牛:俞晨东 http://blog.ycdxsb.cn/ https://github.com/ycdxsb

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值