用 Python 手搓 runc 的踩坑之旅
这是橘子杀手的第 61 篇文章题图摄于:香港 · 维多利亚港
正如 2024 年度总结里说的,今年要开启云原生安全系列,本篇是云原生安全系列的开篇。老规矩,系列开篇第一期,扯点闲话。云计算真的是一个很大的概念,这是一个很大的坑,我也不知道什么时候能填完。
我决定从容器化技术开始。说起容器,docker(准确地说是 runc)绝对是核心组件。对于 docker,我大概是在大学期间接触到的,当时毕设的课题还是一个基于 docker 的分布式安全演练靶场,那个时候主要是以使用为主,对于容器技术只有朦朦胧胧的了解。不过在那个时候,除了阿里云等几家云厂商之外,国内落地大规模容器化架构的公司还是比较少的,关于云安全的技术研究也不多。时过境迁,现在来看,容器化技术已经遍地开花,企业上云逐渐变得非常常见。
在看完容器技术的核心 3 个基础技术之后:
-
Linux 基础-Namespace -
Linux 基础-CGroup -
Linux 基础-Union File System
最近我一直在琢磨,能不能自己写一个 runc 出来? 即使是一个玩具化的实现,也要比只看概念强得多。runc 是用 go 写的,golang 我不太会,反正咱们写的就是玩具,就用我最熟悉的 Python 好了。
于是就有了本篇 —— 一个基于 Python 的 runc 实现 —— 麻雀虽小,五脏俱全。同时,这也是我的第一篇付费文章(折合约 10 块钱),希望有余力的橘友们多多支持(如果条件实在是比较困难,或者觉得文章写得不好,可以找我退钱)
好了,坐稳发车啦!
原文始发于微信公众号(橘子杀手):用 Python 手搓 runc 的踩坑之旅
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论