熟悉Linux系统安全和优化(上)

  第一章:介绍Linux 什么是Linux? Linux是一个操作系统。最初它是由在芬兰赫尔辛基大学念书的Linus Torvalds作为一种业余爱好开发出来的。Linus对用于教学的一种小型的Unix操作系统-Minix很感兴趣,决定开发出超过Minix的操作系统。在1991年,他开始Linux的开发,那时候的Linux是0.02版。到了1994年,Linux内核的1.0版发布了。现在稳定的Linux内核版本是2.2版,开发工作还在继续进行。 Linux的开发是遵循GPL的,它的源代码任何人都可以免费获得。但是这并不是说Linux以及Linux的发行版本是免费的。只要源代码保持公开,开发人员是可以要求获得适当的报酬。Linux可以用在很多方面,包括:网络、软件开发和桌面平台。Linux常被认为是其它昂贵的操作系统的替代品。 因为Linux操作系统的稳定和健壮,以及很容易得到,它在世界上越来越流行。成千上万的程序员在根据自己的需要利用Linux的源代码。现在,有很多正在进行中的项目尝试着把Linux移植到不同的硬件平台上,或把Linux用于其它的用途。 为什么要用Linux 首先,它是免费的。尽管Linus Torvalds拥有Linux的商标。Linux的内核和相关的软件是遵循GPL的。这意味着你可以更改源代码,并靠买程序获利,但是最初的作者拥有版权而且你必须公布修改过的源代码。 尽管Linux在基于Intel平台的计算机上最流行,但是相对其它操作系统,它可以运行在更多的CPU和硬件平台上。其原因是:除了拥有很多天才的开发人员之外,Linux是带着源代码一起发行的,而且它的内核是可移植的。 现在软件和硬件行业的趋势是让用户去买更快的计算机,不断地扩充内存和增加硬盘空间。Linux并不受这些“增肥”趋势的影响,它甚至可以在内存不是很多的486计算机上运行得很好。 Linux很少死机,你可以停止那些有问题的进程,而让操作系统正常地运行下去。而且,Linux用的是最先进的内存管理技术,不会让你的操作系统失去控制,也根本不要经常重启操作系统。 如果需要安装的是一个服务器操作系统,那么Linux是有很多优势的,特别是比起其它操作系统,如Windows 2000,要便宜得多了。还有一个优点是:Linux几乎不受病毒的攻击。因为遵循GPL和开放源代码,基本上你可以获得操作系统以及操作系统上所有软件的源代码。 让我们排除对使用Linux的一些害怕和疑虑 Linux不过是一个象玩具一样的操作系统 可能微软公司希望这 娴模??鞘率挡⒉皇窍笏?窍M?哪茄??inux正被越来越多的Fortune 5000的企业、政府部门和消费者所采用。不信的话,去问一问IBM、Compaq、Dell、Apple Computer、Burlington Coast Factory、Amtrak、Virginia Power、NASA或成百上千万的Linux用户吧。 Linux没有技术支持 尽管有不少人认为Linux是没有技术支持的操作系统,但是每个Linux的发行版都提供12,000多页的文档。Linux的商业发行版,例如:RedHat Linux、Caldera、SuSE 和OpenLinux给注册用户提供安装支持,小企业和公司可以得到一些商业技术支持公司的服务支持。作为一个开放源代码的操作系统,你可以得到Linux的全部源代码。如果你遇到一些问题而且自己有解决问题的能力,就自己解决吧!不用为了得到技术支持等上很长的时间,许多严重的问题(如系统安全问题)可以在Internet上的Linux社团的帮助下几个小时内解决。 第二章:安装Linux服务器 了解你的硬件环境 了解硬件环境是成功安装RedHat Linux的关键。因此,必须用一些时间熟悉一下自己的硬件环境。准备好回答如下的问题: 1. 计算机上有几个硬盘? 2. 每个硬盘的大小? 3. 如果有两个以上的硬盘,哪一个是主盘? 4. 内存有多大? 5. 计算机上有SCSI卡吗?如果有,型号是什么?由哪家公司生产的? 6. 鼠标是什么类型的(串口,还是PS/2)? 7. 鼠标有几个键? 8. 如果是串口鼠标,那么连在哪个串口上? 9. 显卡的产商和型号,有多少显存? 10. 显示器的产商和型号? 11. 如果想把计算机连接到网络上,请再注意下面几个问题: a) 计算机的IP地址? b) 网络掩码? c) 网关地址? d) 域名服务器的地址? e) 域名? f) 主机名? g) 网卡型号和厂商? 创建启动盘,引导Linux 如果你安装过很多次Linux,结果都失败了,那么可能需要一个修正过的软盘镜像。在这种情况下,可以去RedHat Linux的勘误网站去下载特殊的软盘镜像。 因为这是很少见的情况,应该尽可能地先试一下标准的安装软盘,只有在实在不能完成安装的情况下,才有必要去勘误网站看看。RedHat 6.1的光盘可以从光驱直接启动。如果你的计算机不支持直接启动,那么也可以在MS-DOS下创建启动盘,请用下面的命令(假定CD-ROM的盘符是d:,里面放的是RedHat Linux 6.1的光盘): 在windows下打开MS-DOS方式(开始 | 程序 | MS-DOS方式): C:$#@62; d: D:$#@62; cd dosutils D:dosutils$#@62; rawrite Enter disk image source file name: ..imagesoot.img Enter target diskette drive: a: Please insert a formatted diskette into drive A: and press –ENTER– : D:dosutils$#@62; 当rawrite.exe要求输入软盘镜像的时候,输入完整的boot.img的路径名,把软盘插入A驱。当程序问你把镜像写入哪个软盘驱动器的时候,输入a:。 RedHat Linux的勘误网站是:。 因为我们不从CD-ROM启动,而从软盘启动安装,所以把软盘插入A:驱,然后重新启动计算机。当出现boot:的时候,按下回车键,继续引导。 * 选择语言 * 选择键盘类型 * 选择鼠标类型 安装类型和方法 RedHat Linux 6.1有以下几种安装类型: * GNOME工作站 * KDE工作站 * 服务器 * 自定义 有些安装类型(GNOME工作站、KDE工作站和服务器),简化了安装过程,但是失去了很多灵活性。 因此,我们建议你选择“自定义”安装,这样你可以选择安装什么服务器软件以及如何划分你的硬盘。 我们的目标是安装尽可能少的软件,以保证系统的高效率。而且,安装的软件越少,安全漏洞也就越少。 选择“Custom”,继续安装。 创建分区 警告 我们强烈建议在分区之前,先备份你当前的系统。为了保证系统高效、稳定和安全,我们还建议你象下面介绍的那样分区。我们这样分区是假定你要配置一个Web和Proxy服务器。 之所以在分区中有两个特殊的“/chroot”和“/cache”分区是因为:“/chroot”分区是为DNS服务器、Apache服务器和其它需要改变根目录的(chrooted)服务器准备的;“/cache”分区是为Squid Proxy服务器准备的。如果你不打算安装Squid Proxy服务器,那么不必创建“/cache”分区,但是请注意:Squid+Apache的结合会把服务器的性能和安全提高很多。 如果想让数量比较多的用户访问你的服务器,必须把“/tmp”和“/home”放在不同的分区上,这几乎是强制的。这样做可以避免分区被一些用户文件填满。把“/var”和“/usr”放在不同的分区也是一个好主意。使“/var”和其它分区分开也可以避免分区被填满。 在我们的分区安排中,特别保留了400MB的磁盘空间给改变根目录的(chrooted)程序,比如:Apache、DNS以及其它软件。这是必须的,因为Apache的DocumentRoot文件和其它可执行的程序都会被安装在这个分区上。注意:Apache chrooted目录在“/chroot”分区上的大小是和“DocumentRoot”文件的大小成正比的。如果不准备安装和使用Apache,可以把分区大小减小到10M,这10M是DNS服务器所必需的。 最小的分区要求 下面是Linux能够正常运行的最小分区要求。这样的分区安排甚至可以适用于只有512MB硬盘的老式486计算机机。当然,这种分区安排只是一个建议。 / 35MB /boot 5MB /chroot 10MB /home 100MB /tmp 30MB /usr 232MB /var 25MB Disk Druid分区工具 Disk Druid是RedHat Linux带的一个分区工具。选择“Add”添加新的分区,“Edit”改变分区,“Delete”删除分区,“Reset”恢复原来的分区状态。在添加一个新分区的时候,会出现一个窗口,要求你添上有关这个分区的一些必要的信息。要求添的信息是: * Mount Point: 分区装载(mount)的目录 * Size: 分区的大小,以兆为单位 * Partition Type: 分区类型。Linux的文件系统要使用Linux native类型的分区,Linux交换分区请用Linux Swap类型。 如果你有一个SCSI硬盘,那么这个设备的名称将是“/dev/sda”;如果你有一个IDE硬盘,那么这个设备名称将是“/dev/hda”。如果很在意系统的高性能和稳定性,我们建议你用SCSI硬盘。 Linux分区的命名方式是字母和数字相结合的,这种命名方式很灵活也很直观。下面是一个小小的总结: * 前两个字母:前两个字母表示设备类型,“hd”代表IDE硬盘,“sd”表示SCSI硬盘 * 第三个字母:这个字母是说明具体的设备。例如:“/dev/hda”表示第一个IDE硬盘;“/dev/hdb”表示第二个IDE硬盘。 请记住这些,这样给Linux分区的时候,会觉得容易一些也不会混淆。 交换分区 交换分区是用于虚拟内存的。如果计算机的内存少于16M,你必须创建交换分区。即使有更多的内存,,我们还是建议你建立交换分区。交换分区最小必须等于计算机的内存,如果内存多于16M,最小只要16M就行了。交换分区最大大约为1GB,(Linux 2.2内核现在可以支持1GB的交换文件,如果多于1GB就是浪费)。注意:可以创建多于一个的交换分区,尽管只有在安装大型服务器的时候才有这个必要。尽量把交换分区放在硬盘驱动器的起始位置,因为一个磁盘的起始位置在物理上是在最外的柱面上,所以磁头每转一圈可以覆盖更大的面积。 下面是一个例子,教你怎么建立分区(这样的分区安排是安装我们在书中介绍的服务器所需要的),下面的例子是用Disk Druid的命令: Add Mount Point: /boot our /boot directory Size (Megs): 5 Partition Type: Linux Native Ok Add Mount Point: /usr our /usr directory. Size (Megs): 1000 Partition Type: Linux Native Ok Add Mount Point: /home our /home directory. Size (Megs): 500 Partition Type: Linux Native Ok Add Mount Point: /chroot our /chroot directory. Size (Megs): 400 Partition Type: Linux Native Ok Add Mount Point: /cache our /cache directory. Size (Megs): 400 Partition Type: Linux Native Ok Add Mount Point: /var our /var directory. Size (Megs): 200 Partition Type: Linux Native Ok Add Mount Point: our /Swap partition (leave the Mount Point Blank). Size (Megs): 150 Partition Type: Linux Swap Ok Add Mount Point: /tmp our /tmp directory. Size (Megs): 100 Partition Type: Linux Native Ok Add Mount Point: / our / directory. Size (Megs): 316 Partition Type: Linux Native Ok 分区完毕之后,你可以在屏幕上看到类似的信息: Mount Point Device Requested Actual Type /boot sda1 5M 5M Linux Native /usr sda5 1000M 1000M Linux Native /home sda6 500M 500M Linux Native /chroot sda7 400M 400M Linux Native /cache sda8 400M 400M Linux Native /var sda9 200M 200M Linux Native $#@60;Swap$#@62; sda10 150M 150M Linux Swap /tmp sda11 100M 100M Linux Native / sda12 316M 315M Linux Native Drive Geom [C/H/S] Total (M) Free (M) Used (M) Used (%) sda [3079/64/32] 3079M 1M 3078M 99% 现在,选择“Next”继续安装。分区创建完之后,安装程序会让你格式化分区。选择想要格式化的分区,选中“Check for bad blocks during format”选择框,按“Next”继续。这样就开始格式化分区,并且激活分区。Linux就可以使用这个分区了。 下一步如果选择安装LILO,你会看到LILO的配置。可以选择把LILO装在主引导扇区(MBR),或引导分区的第一个扇区。 在通常情况下,应该选择把LILO安装在主引导扇区。(如果你的计算机上装有NT,或一些多重引导程序,如System Command,你最好仔细看一遍LILO-HOWTO,以免不必要的损失)。然后,开始配置网络和时钟。接着,要输入root口令和进行安全验证的配置。不要忘了选上: * Enable MD5 passwords * Enable MD5 passwords 没有必要选择Enable NIS,因为我们不在这台服务器上安装NIS服务。海内存知已,天涯若比邻。

熟悉Linux系统安全和优化(上)

相关文章:

你感兴趣的文章:

标签云: