开始之前
除了您现在阅读这篇教程所使用的这台机器之外,还需要一个可在其上任意操作的老的 Linux 安装,最好带急救盘以便在系统出问题时能恢复系统。如果在该机器上有一些数据是您今后还会用到的(即便是使用多引导设置在不同的分区或单独的驱动器上进行本教程所示的操作),那么务必在开始实践本教程中给出的技巧之前,先备份和测试这些数据。
从安装和支持经理的角度来看,Linux 的可修改性是其最大的问题源;任何负责过大中型安装的人都多少领教过其中的艰险。每个机器都会堆叠许多其他的应用程序、未知软件的配置和安装。本教程系列面向任何想要轻松地跨企业安装和管理这类大型 Linux 安装的读者。
本教程延续 第 1 部分 中的内容。第 1 部分解释了为何要对 Linux 的定制加强控制,并采取了一些预防步骤来锁定标准的 Linux 发布以阻止对基线安装的伪造用户更改。第 2 部分将构建一个内核,该内核只允许使用以一种受控方式引入到每个必须支持的机器中的签名的二进制程序,并由此完成这个锁定过程。
在本教程中,我们将维护一个大型的 Linux 计算机系统,讨论涉及的一些管理问题和过程。这些 Linux 系统运行的内核只执行经过授权的可执行程序,并通过 第 1 部分 描述的基本锁定过程进行配置。还要学习如何管理维护这种系统所需的密码数据,并防止在环境中执行未授权的可执行文件。通过实现本系列描述的措施,就可以配置一个工业级的锁定的 Linux 发行版,未经您亲自审计或签名的应用程序将不能注入到这个发行版中。
本教程是为中高级 Linux 管理员设计的。您应该十分熟悉 Public Key Infrastructure(PKI),尤其是 GNU Privacy Guard(GPG),可熟练使用命令行 shell 并拥有 C 编程语言的实践经验。当然,您还必须已经阅读并理解了本教程系列的 第 1 部分。
要跟随本教程的步骤进行学习,您必须拥有对 Linux 机器的 root 访问权,并能够任意重引导和破坏存储于此机器上的所有数据。您还必须有已经安装好的编译环境,并能够通过某种途径获得该发行版的 Linux 内核源代码和头文件,以及 第 1 部分 的教程源代码。
在我撰写本教程时,使用的是从安装 CD 安装的 Ubuntu Linux V6.10;但是,除了一些细微差别,任何您习惯使用的 Linux 发行版都应该可以。如果已经有了 VMware 副本,则无需再学习本教程的硬件和固件部分,VMware 的快照实用工具可以让您更加自由地实践,因为如果 Linux 安装在任何阶段停止了引导,您都可以及时返回到一个已知的正常状态,而根本无需借助急救盘来诊断和修复问题。
