致编辑的信
第16页[Linux Journal,2001年3月]的技术提示很棒!不幸的是,你们的技术人员忽略了最小公倍数和最小公分母。使用第五段中给出的数字,您将在每次第15次重启时fsck所有四个文件系统,使问题比默认情况更糟。
更好的方法是使用像13、17、19和23这样的质数。这样,您在第221次重启(13*17)之前不会fsck两个文件系统,并且在第96,577次重启之前不会fsck所有四个文件系统。假设平均正常运行时间为90天(硬件不良,安全更新),这将在25,814年。
—George Toft
我发现Mick Bauer在第33页[“Paranoid Penguin”,2001年3月]提出的解决方案充其量有点笨拙。如果升级,以这种方式重命名启动脚本将导致失败。(例如,ude到软件包中的安全修复程序。)
Red Hat Linux的首选方法是使用chkconfig。所以示例应该是
chkconfig named off
对于其他发行版,您应该将其移动到K70named(即100-n)或使用该发行版使用的任何系统。
—Hugo van der Kooij
Bauer 回复: 您当然是正确的,chkconfig是管理Red Hat中启动脚本的首选方法。我不知道这一点,因为我最近才从SuSE切换到Red Hat。但是“笨拙”?我的方法在我处理的大多数SysVInit实现中都很常见,包括SuSE(除非SuSE 7.1不同——我还没试过)。无论如何,我认为这是一个小问题:我的方法引起的任何升级“失败”都很容易修复。我个人经历的唯一奇怪之处是偶尔创建冗余符号链接,我几乎不认为这是失败。
我非常关注2001年3月刊中对Mandrake 7.2的评测。开门见山地说,Mandrake开箱即用几乎完美无瑕,许多问题是由于评测人员试图在发行版之上安装Helix GNOME(Helix GNOME有已知错误且不支持Mandrake 7.2)。在GIMP中截取屏幕截图确实可以开箱即用,只是不能使用Helix版本,这显然是在事后添加的。缺少后退按钮是绝对错误的,因为安装程序不需要后退按钮。(安装程序屏幕侧面有图标,允许您跳转到安装中的任何点,并显示您在安装中的位置。)
侧边栏说Mandrake包含Helix GNOME;这是错误的。它确实包含GNOME,但不包含Helix。事实上,Helix甚至不支持Mandrake 7.2(但它支持早期版本)。
我个人在工作和家庭中都运行Mandrake 7.2,开箱即用,并且运行几乎完美无瑕(尽管有一些小问题,但有更新可用)。我还尝试在我的7.2机器之一上使用以前称为Helix的GNOME,发现它破坏了很多东西。重点是,Mandrake 7.2开箱即用效果很好,只是在添加Helix GNOME后才开始崩溃!
—Chris Hendrickson
Black 回复: 正如文章中清楚表明的那样,我所做的评测显然且可证明不是最终发布版本。我曾两次就此询问Mandrakesoft,但他们没有回复我的电子邮件。通过干净的、无Helix/Ximian的安装,Helix/Ximian问题都没有消失,虽然屏幕左侧的星号确实可以用作后退按钮,但这对于Mandrake新手来说肯定不明显。我听说了很多关于Mandrake实际发布版本的精彩之处。我正在考虑下载它并将其放在服务器上,因为它似乎在该方面特别有效。它的安全性是众所周知的。但作为一名评测人员,我只能使用发送的内容。我可以做研究,提出问题(或尝试提出问题)等等,但如果我无法以正常方式运行该软件,我就不能说“哇,这太棒了”。我有一个开发软件的规则:如果我可以用我无害的小系统破坏软件,那么该软件可能无论如何都需要修复。
Mick Bauer的“OpenSSH的101种用途:第2部分”[2001年2月]是一篇很棒的文章,但有一个小缺陷。他写道:“要在ssh或scp会话中指定要使用的特定密钥,请使用-i [标志]。”他还提供了一个建议使用DSA密钥的示例。
但是,OpenSSH直到最新版本(2.5.1,四天前发布)才支持将DSA密钥与-i标志一起使用。早期版本会静默忽略指示的DSA密钥(RSA密钥工作正常)。因此,任何尝试该示例的人都会看到ssh神秘地默认每次都使用密码身份验证。
此限制实际上记录在ssh手册页中。2.5.1之前的版本说
-i identity_file<\n> Selects the file from which the identity (private key) for RSA authentication is read. [...]
当然,2.5.1版本说“...RSA 或 DSA...”。但是,即使是经验丰富的用户也很容易忽略这种区别——我自己在最初几次肯定忽略了。
—Adrian Ho
在文章“设计和使用 DMZ 网络...”[2001年3月]中,Mick Bauer介绍了保护DMZ主机的方法。在我看来,他错过了一个简单但非常有效的工具来检测DMZ主机或防火墙上的入侵者:Tripwire。它计算系统上所有文件的校验和,并将这些指纹存储在数据库中。定期(cron)针对此数据库运行比较,很容易检测到更改。如果有人修改了/bin/login、/etc/passwd或安装了其他后门,您至少会在下次比较运行后意识到这一点。关键是将Tripwire本身和初始数据库存储在只读介质(例如CD-ROM)上,以防止修改。使用文章中提到的diff无法做到这一点。
Tripwire现在是商业软件,但GNU GPL版本的Linux可在www.tripwire.org 和 www.tripwire.com/ 上找到。还有另一个处理相同主题的GPL软件,但我从未尝试过。它在 www.cs.tut.fi/~rammer/aide.html。
另一个问题是图2中所示的DMZ的设计。我不建议将所有主机放在一个DMZ中。如果您使用三个不同的盒子来完成这项工作,您也应该使用三个DMZ。如果其中一台机器被入侵者入侵,他必须再次穿过防火墙才能攻击其他机器。因此,用额外的网卡填充您的防火墙并使用交叉电缆——您也不需要交换机。
此致
—Markus Hogger
我很喜欢Robin Rowes的文章“Debian多重启动安装”LJ,2001年3月,但对此有几点要说明。在关于运行rawrite2.exe的部分中,暗示您无法从FAT32分区运行此程序。这是错误的;Win98(和Win95 OSR2)附带的DOS版本知道FAT32(但不知道长文件名);否则,他们也无法从FAT32分区启动Windows。也许作者当时想到了FIPS(DOS重新分区工具),它的原始版本无法处理FAT32。
对WindowsME的问题进行讨论会很有用。这基本上是带有更华丽GUI和其他无用功能的Windows98,但微软尽可能努力阻止您在“实”(16位)模式下运行其DOS,主要是通过削弱FORMAT和SYS命令并删除在DOS模式下启动或重启的选项。
要在WindowsME中启动到DOS,请从控制面板 --> 添加/删除程序 --> 启动盘创建启动软盘。如果您从该软盘重启PC并选择最小启动选项,您将最终进入DOS提示符,您可以从中更改为C:驱动器并按照文章中的指示运行rawrite2.exe程序。或者,您可以通过削弱启动软盘以获得CD支持和DOS提示符,而无需任何Windows恢复胡说八道,从而对Microsoft进行报复。(最简单的方法是重命名AUTOEXEC.BAT文件。)
此外,文章中的许多路径名都使用正斜杠而不是反斜杠。
—Ian Abbott
Rowe 回复: 您是正确的,涵盖WinME会很好。我没有做的唯一原因是我没有副本,也不想购买。感谢您关于如何使用它的好评。我没有尝试过的另一种有趣的方法是使用WinImage创建Debian软盘。我认为您说的是正确的,当从较新的DOS启动时,能够看到FAT32分区。我已经很久没有尝试过了,因为我通常更喜欢FAT16或NTFS分区。我应该创建一个FAT32分区来测试它,但当时急于完成文章,所以没有这样做。感谢您的更正。我从未使用过FIPS。正斜杠在UNIX或Windows中是正确的,尽管Windows坚持默认使用反斜杠。在任何地方使用正斜杠是我在编写可移植代码时养成的习惯。不幸的是,这仅适用于UNIX和Windows。Mac不喜欢斜杠(正斜杠或反斜杠)。我希望Darwin会改变这一点。例如,如果您转到Win2k中的文件搜索框并使用正斜杠,效果很好。唯一不接受正斜杠的地方是在DOS命令提示符下。