linus:“我删除了linux,因为它就是个垃圾!”(代码片段)

Wang_AI Wang_AI     2022-11-30     304

关键词:

文 | 罗奇奇

出品 | OSC开源社区(ID:oschina2013)

1月 25日, Linus Torvalds 在 Linux 的 GitHub 仓库中提交了一个恶作剧 README 页面:https://github.com/torvalds/linux/tree/8bcab0346d4fcf21b97046eb44db8cf37ddd6da0,其备注名为《delete linux because it sucks》—— 我删除了 Linux ,因为它就是个垃圾。

大家好,我是 linus torvalds,红极一时的 linux 的作者。你可以查看 repo 的 url 和文件顶部的名字,它们可以证明是我本人在提交。

我删除了 linux,因为我讨厌它,我认为它很烂。你应该去用这个很棒的操作系统,它叫做 windows xp,我刚刚发现它真的很棒。

为什么说这是一场恶作剧呢?因为 Linux 的源代码并没有被删除,而且有细心的网友发现:该 README 最底部还有一个链接:

这个链接指向 Hacker News 黑客论坛的一个帖子,帖子详细介绍了 GitHub 现存的“虚假提交”漏洞:可以在 https://github.com/my/project 的 URL下发布任意提交。

比如用 https://github.com/my/project/blob/<faked_commit>/README.md 这种 URL ,就可以发布虚假的 README 页面,这种虚假提交不会出现在项目的提交记录里面,也不属于任何一个分支,只能通过访问特定的 URL 看到。而 Linus 这个恶作剧 README 文件正是利用了这个虚假提交漏洞,看一下这个 README 的 URL :

如果是正常的提交,URL 应该带有 commit 字眼,比如:

除了 URL 不对外,该 README 文件也未出现在提交记录中:

由此可见,Linus 只是开了个玩笑,并非真的删库跑路。

对此漏洞感兴趣的可以去看看 Hacker News 的原帖,这个虚假提交漏洞结合 GitHub 另一个“通过 git 电子邮件地址冒充用户”漏洞:https://bounty.github.com/ineligible.html#impersonating_a_user_through_git_email_address,能创造出以假乱真的钓鱼页面。

比如

https://github.com/slimsag/linux/tree/5895e21f3c744ed9829e3afe9691e3eb1b1932ae#linux-kernel 这个仓库,看起来似乎 Linus 本人参与了这个仓库的建设:

然而这只是通过替换电子邮件地址漏洞,把 slimsag 换成了 torvalds 而已。

左边是通过漏洞替换邮件地址的 torvalds ,右边是正常的,仔细观察对比可以发现,障眼法换出来的 torvalds 是不显示活动记录的。

这些 GitHub 漏洞都是 2020 年公开的,然而漏洞作者称“GitHub 完全不把这些问题当作漏洞”,不知道 GitHub 是无法处理,或是认为没必要处理,反正直到现在它们仍能被利用。


 
觉得还不错就给我一个小小的鼓励吧!

linus基础——1

     查看详情

关于linus系统切换root

打开命令行,一般此时是用户的目录,只有切换root,我们才能安装一些软件包。   只需输入:su   然后再密码:输入你linus系统设置的密码   然后切换到root账户下~ 查看详情

linus

第一种方法:cat-Afilename就可以看到windows下的断元字符^M要去除他,最简单用下面的命令:dos2unixfilename 第二种方法: sed-i‘s/^M//g‘filename#注意:^M的输入方式是Ctrl+v,然后Ctrl+M  第三种方法: #vifilename :1,$s/... 查看详情

linus大神的二级指针(代码片段)

普通人删除单向链表中的一个节点的时候都会这样写:typedefstructnodestructnode*next;....node;typedefbool(*remove_fn)(nodeconst*v);//Removeallnodesfromthesuppliedlistforwhichthe//suppliedremovefunctionreturnstrue.//Retu 查看详情

git简介

一、git的诞生1991年,Linus开创了开源语言Linux,Linux也成为了最大的服务器系统软件,但是其成功归功于世界各地拥护Linux的壮士,他们把他们的代码通过diff方式传给了Linus,Linus通过手工的方式将它们合成管理,但是直到2002年,... 查看详情

安装部署linus安装git

一、准备      下载Git包wgethttps://github.com/git/git/archive/v2.17.0.tar.gz二、安装步骤      ①创建目录/usr/local/git并将下载好的tar包解压至该目录tar–zxvfv2.17.0.tar.gz&n 查看详情

分析linus进程模型(代码片段)

...作系统,被组织成若干顺序进程,简称进程。?一个进程就是一个正在执行程序的实例,包括程序计数器,寄存器和变量的当前值。从概念上说,每个进程都拥有它自己的虚拟cpu. 1.1什么是线程?在传统操作系统中,每个进程有... 查看详情

linus学习笔记(代码片段)

...;passwd:修改用户密码及其他信息参数userdel:用户删除。sudo:切换用户权限su:切换用户useradd功能:创建新用户用法:useradd[-cdms]username-c:comment:新用户注释信息。-mÿ 查看详情

linus-2文件目录结构(代码片段)

1.文件系统从根开始,“/”2.文件名称区分大小写3.隐藏文件以“.”开头4.路径分隔符为“/”5.文件命名规范1.文件字符最长为255个字符2.包括路径在内文件名称最长为4095个字符3.颜色表示1.蓝色:文件夹2.绿色:... 查看详情

向linus学习,让代码具有goodtaste

 在最近关于LinusTorvalds的一个采访中,这位Linux的创始人,在采访过程中大约14:20的时候,提及了关于代码的“goodtaste”。goodtaste?采访者请他展示更多的细节,于是,LinusTorvalds展示了一张提前准备好的插图。他展示的是一个... 查看详情

第13课《科普文》

...看没软件用了啊,唉,算了,自己整个吧。要不咋说大佬就是大佬,Linus只用了两个星期就自己用C语言把git写出来了,然后迅速成为最流行的分布式版本控制系统。 查看详情

linus:破例一次,下不为例

出品|OSC开源社区(ID:oschina2013)‍NTFS3是软件开发商ParagonSoftware 贡献给Linux内核的读/写文件系统驱动程序。根据此前的报道,NTFS驱动经历了近半年没有重大更新的状态,甚至被建议标记为“孤儿项目”。ParagonSoft... 查看详情

安装部署linus安装jenkins(代码片段)

目录一、Docker安装Jenkins1.1通过镜像安装jenkins1.2获取管理员密码1.3新手入门安装推荐的插件就好1.4创建管理员账户二、安装插件2.1MavenIntegration插件2.2PublishOverSSH插件三、Jenkins配置3.1全局配置3.1.1自定义maven配置3.1.1.1进入容器3.1.1.2... 查看详情

安装部署linus安装docker(代码片段)

目录1、卸载旧版本(如果安装过旧版本的话)2、安装需要的软件包3、设置阿里源4、可以查看所有仓库中所有docker版本,并选择特定版本安装5、安装Docker6、启动并加入开机启动7、验证安装是否成功8、设置源的另一种方式1、卸载... 查看详情

休假结束,linus重回内核开发岗位

...件列表(LKML)的说明中对自己过去的行为表示反悔,对因为他的言行而受到伤害的人表示道歉,他表示需要离开一段时间,需要如何理解人们的情绪和适当回应方面获得一 查看详情

什么是linus?

...用,或者花很少的一点费用就可以取得Linux光盘,这都是因为Linux是GPL版权的缘故。除了核心程序以外,一个操作系统还需要其它的系统程序跟应用程序才有实用性,Linux系统中常用的系统程序大部份是美国自由软件基金会(FreeSoft... 查看详情

linus怒批github:制造了毫无用处的垃圾合并信息!

...ommit使用了GitHubmerge,并直言“Github制造了毫无用处的垃圾合并信息”,永远都不应该 查看详情

linus再发飙:这就是一堆垃圾!(代码片段)

...为什么会存在这个合并请求,那么根据定义,这就是一堆垃圾!”▲缺少注释的合并请求让LinusTorvalds很生气Linus认为,如果你不能解释清楚一个合并请求,那么就不要提交,这是很简单的道理。如果不解释... 查看详情