起因
好久没更新了,开更,也算是考完试了,终于有时间更新博客了,软考考砸了捏,呜呜呜。
git子模块
这个什么是意思呢?就是字面意思,首先,我们当前的git仓库是一个主模块,但是,我不可能一个主模块可以实现所有功能的啊,这个时候就像项目需要调用其他模块和代码一样。主模块有时候也需要子模块,然后调用子模块才能正常工作。
1 | git submodule init |
子模块提交和推送
下载子模块很简单,切换子模块就是进入子模块目录就ok了。注意了,如果修改了子模块想要推送的话。就得进入子模块中,才能进行提交和推送,此时,你得有管理员权限或者提交权限才可以哦,不然是无法更新子模块的,你在主模块中的提交是不包括子模块的。
git子模块的致命问题
首先呢,.git文件是不允许随意修改的,这个在提交的时候很多东西不会提交,只会上传那些操作和提交记录等,本地就有很多脚本和hook。但是还有一个gitmodule的文件,这里包含了子模块的名称和url。因为主模块不知道子模块要些什么东西,所以给了比较大的权限。所以,如果下载到有病毒的子模块,那么就可以在下载子模块去修改主模块的钩子和脚本,等某个操作执行完毕就触发hook,去执行恶意代码。
不过现在好像修复了,不过有些版本还是会有这个问题的。
github二级密码
现在登录github界面就可以看到要二级密码登录了。也就是2FA了,我感觉国内的gitee可能也要上这个,因为喜欢抄嘛。现在,我感觉是在观望github的二级密码怎么样。
[Git] 一次搞定:Github 2FA(Two-Factor Authentication/两因素认证) - 千千寰宇 - 博客园 (cnblogs.com)
可以根据如上操作,进行绑定,至于软件,随便找一个2FA的软件就ok了。
管理员删库保护
这个就很简答了,在仓库设置中添加删除保护就好了。
管理员fork删库保护
这个问题,我也是第一次遇到,就是我在公司进入gitee的企业版嘛,我fork了一个项目,我却发现不能删除了,这个让我非常吃惊!我删除这个fork的库,竟然也要管理员同意,看来是对库进行额外的保护。
总结
git确实厉害,已经离不开了,我想起来之前那个linux开源社区的大问题,有一个黑客Jia Tan,通过一个解压软件就实现了,入侵,它修改了脚本,让脚本在运行的时候,故意中断,这样就可以进入其他地方去工作了,因为脚本不想代码可以编译找出bug的,所以非常难以发现。所以,这些个开源软件,我只能说一定每一个后面都有后门,希望,这些bug早日修复,希望有更多人注意开源安全和网络安全。