访谈:Michael W Lucas
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
作者:Allan Jude & Benedict Reuschling
摘自 BSDNow,第 329 集,录制于 2019 年 12 月。Allan Jude 和 Benedict Reuschling 采访了 Michael W Lucas。
BENEDICT REUSCHLING:Michael W Lucas 曾在这个节目中接受过几次采访。他上回接受采访是几个月前,我们认为您可能想了解他最近在做什么,以及他接下来的计划。以下是这次采访,享受吧!
REUSCHLING:欢迎,Michael!您最近发布了本新书,我相信听众们会想了解一下。能告诉我们这本书的内容吗?我听说它是关于 sudo 的。
MICHAEL W LUCAS:感谢邀请我参加。是的,这本新书是《Sudo Mastery》的第二版。除非您使用 LDAP,否则 sudo 并没有进行过重大变化。但它做了很多小改动,因此,基本上这第二版就是为了跟上这些变化,确保信息准确反映今天的 sudo。我还深入探讨了一些推荐的配置更改。例如,sudo 现在有像校验和验证这样的功能,以确保二进制文件没有被篡改。当然,没人会手动计算每个二进制文件的校验和,更别提每次修补时还要更新它们了。所以,我为流行操作系统编写了一些脚本,用于自动计算所有文件的校验和。
REUSCHLING:哦,这真是很有用。
LUCAS:确实如此。如果您怀疑系统可能遭到外部篡改,校验和验证可能是一个解决方案。而且现在有一些新的调用方法。以前他们有一个工具,可以将 sudoer 文件转换为 LDAP 格式,那非常有用。但现在他们有了一个通用工具,可以将 sudoers 文件与 LDAP 以及 JSON 格式之间相互转换。所以,您可以将 sudoers 文件放入任何您想要的格式。您可以将它传递给审计程序,确保一切符合您的要求。当然,书的封面也非常漂亮。
JUDE:确实!您能解释一下那本美丽封面的不同版本吗?
LUCAS:如果您购买电子书,您将得到一个非常漂亮的封面,基于经典的“狗玩扑克牌”图像。而且既然有人问过,是的,确实有理由说明为什么其中一个 BSD 穿着黑色高领毛衣。还有另一个 BSD 正在悄悄给他递一张王牌。
如果您购买平装本,您会看到封面有一个更完整的版本,硬封面则会覆盖整个封面。如果您有精装本,封面上的封面纸会延续艺术图案到内侧翻页。所以,如果您在寻找既有趣又好看的书,这本书一定能满足您的需求。我对它的效果非常满意。
JUDE:那么,您有一张封面艺术,随着版本的增加增加再增加。接下来您打算做什么呢?
LUCAS:我一直在思考接下来该做什么。我不至于束手无策,因为我有很多想法。但我刚刚完成了一个非常庞大的项目——《jail 书》FreeBSD Mastery Jail。为了写这本书,我写了六本书。那是一个巨大的项目,所有的一切都是为了达到某个特定的目标。此外,在完成这个过程中,我还写了几本小书。我现在没有一个大计划,但我正在努力想出一个总体目标。无论我做什么艺术、书籍之类的,都将为这个目标服务。所以,我确实有一些想法,感谢大家的关注,但我不打算让整个互联网都给我发建议。
REUSCHLING:现在可能已经太晚了! JUDE:说到《jail 书》,几乎所有使用 FreeBSD 的人都会从中学到很多东西,甚至像我这样已经使用了 jail 和 FreeBSD 多年的用户。书中的内容比我脑袋里的还多!在写这本书时,有什么令您惊讶的事情吗?
LUCAS:我从 1995 年末开始使用 FreeBSD,做这项工作迫使我回过头去复习我所知道的一切——而且自 1995 年以来有些东西发生了变化。我学到了很多关于文件系统的小细节。您可以用 DEVD 做一些非常了不起的事情,甚至 nullfs 也很有用。现在 jail 中有些控制非常精细,真是令人惊讶。我记得在过去,System 5 IPC 在 jail 中根本不可能使用,现在你可以为每个 jail 启用/禁用它,甚至可以单独为每个 jail 启用 System 5 IPC 的功能。这是我知道它被实现的原因,因为人们需要它,但我有点害怕去了解为什么有人需要 System 5 共享内存——但不需要信号量。
JUDE:是的,我认为过去的部分原因是,IPC 的命名空间是统一的——你可能希望某个 jail 只能看到其中的一部分。尽管几年前,当我们最终得到了命名空间支持,能够让你在两个不同的 jail 中运行 Postgres,并且它们不会互相覆盖,这个问题可能就不那么严重了。
LUCAS:我起初是这么想的,但这个功能后来得到了演变。所以,这是一种设计决策。我翻阅了 20 年的历史,事情发生的顺序真的非常启发人。这是迭代开发的一个绝佳例子。我的意思是,jail 在 1999 年和 2000 年救了我不少麻烦,它们在过去的几十年里悄悄地发展了起来。简单来说,jail 很难。它们是系统管理中所有知识的结晶。你必须了解文件系统,必须了解升级。如果你有很多 jail,你真的需要一些编排或自动化工具。这些事情很快就会变得非常复杂,因为突然间,你可以在一台主机上运行 500 台虚拟机。你必须管理这 500 台虚拟机,而这真的很糟糕。没有人愿意做这件事。
REUSCHLING:很多人最终会在需要使用 jail 时抓起这本书。
LUCAS:是的,它已经发布了。需要它的人会找到它。不需要的人嘛,他们的生活比我们其他人简单。
JUDE:哦,你知道,当我把 ZedFS 和 jail 结合起来时,我做得有点过头了,直到我需要一个系统,让客户能够上传文件,但确保他们只能上传自己的文件等等。
LUCAS:是的,像这样的需求我一定会放在一个 jail 里。任何面对公众的东西,我都想放到 jail 里。
JUDE:是的,ZedFS 和 jail 能如此契合真的很有趣,考虑到,一方面,Sun 在开发 ZedFS 时将其与 zones 集成,zones 有点像 jail。但它们也有很大的不同,事实证明我们能够将它们很好地对接,我觉得这真的很令人高兴。
LUCAS:是的,我也觉得不错。我认为,使虚拟化能够意识到文件系统的问题并非 zones 独有。它们只是设置了一个可以委托的文件系统,并且可以具有更低级别的权限。
JUDE:真的很有趣,你可以做两者的结合。你可以将一个数据集放入 jail,基本上意味着你将它委托给 jail 中的 root。但然后 jail 中的 root 可以再委托给该 jail 中的个别用户。
LUCAS:确实非常棒。
JUDE:嗯哼
REUSCHLING:有一些用例你通常一开始不会想到,但后来你会发现,哦,是的,这是可能的,我也能看到它的应用场景。
LUCAS:是的,真正的系统管理就是看你拥有的工具,弄清楚如何将它们拼接在一起解决问题。而 ZedFS 是一个很棒的工具。
JUDE:那么,接下来,你是如何意识到世界需要一本关于简单网络管理协议(SNMP)的书的呢?
LUCAS:哦……因为它无处不在,而且现有的书都没让我激动。SNMP 其实并不像你想的那么难。
REUSCHLING:嗯,那就是“S”(简单)的意义吧,对吧?
LUCAS:是的,没错。其实,协议本身非常简单。它有七个部分——就这些。问题在于所有的供应商和实现者对这七个部分所做的事情。无论你多么具体地编写标准,总是有解释的余地。我们需要的不是一本讲它有多么辉煌的书,而是一本讲“这些是组成部分,现状是这样,这里是你如何弄清楚这些东西的书”。
当它正常工作时,它是非常棒的。人们经常用 SNMP 进行监控。SNMP 非常适合网络管理。即使是今天,在与人们交谈和做研究时,还有人说,如果你有一个非常饱和的互联网连接,你可能需要向远程设备发出命令来解决问题。我们有 SNMPv3,很多人对它感到害怕。经过深入了解,我认为,我们只是倒着教它。有时候,它是你唯一的解决方案,我不建议你围绕 SNMP 构建整个网络。但我会说,无论你是网络管理员还是系统管理员,你都需要知道它。有时候你需要那种特定的工具,或者一个工具能解决那些用其他方式很难解决的问题。关于它有太多的困惑了。
JUDE:是的,你知道,它绝对是我工具箱里的一个工具,我不羞于承认我从来没有真正学过它。我只是通过摸索,勉强搞清楚了我需要从中获得的东西。
LUCAS:是的,你可以通过两个数据包找到你需要的信息。
JUDE:对。当我每 30 秒运行一次时,它比使用一些更沉重的东西要好得多。
LUCAS:顺便说一下,我学到的一些东西是,你可以通过 SSH 运行 SNMP 查询。
JUDE:哦哦!
LUCAS:我没有涵盖这一点,因为书已经够大了。但它确实是一些问题的可能解决方案。如果你已经有了证书授权基础设施,你可以通过 TLS 运行 SNMP。
JUDE:那还会通过 UDP 吗,还是在这种情况下会转为 TCP?
LUCAS:它可以使用任何一种。DTLS 是在 UDP 上运行的 TLS。
JUDE:是的,用于数据报。
LUCAS:这里有很多选择。如果我能成功地引导人们,让他们能够把学习协议和学习供应商的奇怪配置分开,那将比一切都值得。
REUSCHLING:在写这本书的研究过程中,你还学到了关于 SNMP 的什么?
LUCAS:嗯,所有的事情都很糟糕,但这并不令人惊讶。让我们看看,很多人用它做了有趣的事情。有来自 MySQL、Postgres 和 Apache 的代理,可以直接插入到 net SNMP 中。所以,你可以轻松地从各种软件中提取统计信息。它是可以扩展的。你可以让 SNMP 在服务器上运行任意命令。这可能是好事,也可能不是,取决于你想要复杂到什么程度。
JUDE:还有图表趋势等等。
LUCAS:哦,是的,是的。当然,监控这些东西的问题在于,你不需要监控它们,直到它们完全出错——我喜欢系统管理!
JUDE:回头看,你的年度计划进行得如何?
LUCAS:嗯,我有很多想做的事情。大约一年前,他们切除了我的一半甲状腺,过去几年里一直困扰我的一些神秘健康问题都解决了。这太棒了!这太好了!这意味着我可以做所有事情。然后我又一次艰难地学到,我可以做很多事情,但不能做所有事情。我原本打算写更多的文字,但我接受了太多的旅行邀请,而旅行让我很不舒服。所以,我决定少旅行,多写书。我靠写字谋生。这是我一直想做的事情。我很幸运能够做到这一点,我只需要站在键盘前,做好工作。
JUDE:那说到这,你能告诉我们你接下来的计划吗?
LUCAS:我有几个关于技术书籍的想法。DNSSEC 的书需要更新。而且随着 DNS over HTTPS 越来越流行,这部分也应该加入其中。
JUDE:尤其是现在我们正处于一个大多数人都在使用它,却不理解这些内容的时代。
LUCAS:是的。
JUDE:人们正在做出一个知情的决定,使用 DOH。
LUCAS:没错。对于生活在审查制度下的人们来说,这是一个很好的即时解决方案。然而,专制和审查国家不会容忍这类问题太长时间。
JUDE:是的,我认为最危险的部分是,它并不是完整的解决方案。如果你仅仅依赖它,你会遇到问题。
LUCAS:是的,确实会遇到很多问题。但我可以写一本关于如何设置它的书。电子邮件也可能是一本有趣的书。如今几乎没有关于如何设置完整电子邮件解决方案的书籍。所以,这是一个可能性。
JUDE:是的,做 DKIM 还不算太难,但新的 DMARC 相关内容让我非常困惑。
LUCAS:我认为电子邮件隐私基本上已经丧失了。即使你自己运行邮件服务器,你也很可能与使用大型商业邮件公司的某些人通信。但尝试自己运行邮件服务器仍然值得,这是我一直在关注的一个话题。我也开始考虑一些 OpenBSD 的事情——每次我提到写一本 OpenBSD 的书时,人们都会跳起来,想要下一本《Absolute OpenBSD》。让我说,没有明确的时间表——我很高兴你们想要,它会来的。
JUDE:那《git commit murder》的续集呢?
LUCAS:它在我的计划之中。我曾在生病时尝试写它。目前,我正努力完成 SNMP 书。非虚构类书籍带来了收入,我很感激有这本书。我并不是看不起它,但我还没有足够多的小说来通过写 git commit 这书谋生。我完成 SNMP 后会很高兴的。
REUSCHLING:今天有什么最后的想法吗,Michael?
LUCAS:我要感谢所有购买书籍的人,感谢你们觉得这些书有帮助。如果你能坚持听完这次采访并且我喋喋不休地说这么久,谢谢你们。
REUSCHLING:感谢你,Michael,感谢你持续的写作和你的书籍。
P.S. 今天,Lucas 发现他有关减少旅行的说法让人不寒而栗。