UNIX操作系统的早期发展 ·第一版Unix系统最早于1971年11月安装在DEC PDP-11/45机器上 。第一份有关Unix的论文发表于1973年 ●Unix v6手册于1975年发布 ·此后,Unix发展成好多个分支,而且越来越复 杂…
2 • 第一版Unix系统最早于1971年11月安装在DEC PDP-11/45机器上 • 第一份有关Unix的论文发表于1973年 • Unix v6 手册于1975年发布 • 此后,Unix发展成好多个分支,而且越来越复 杂… UNIX 操作系统的早期发展
UN操作系统演进史 v6(1975) PWB BSD (1978) (1977) Xenix ↓ v7(1979)、 (1979 899999999999990999999999999292929999999999999999929999292929929292992999999939399329999393939393939399999993239939393993939393939393993993939393939999939999990 UNX的历史开始于1969年ken Thompson,Dennis Ritchie(即著名的K&G,C语言的发明人)与一群 人在一部PDP-7上进行的一些工作,后来这个系统变成了UNX。它主要的几个版本为: 2 V1(1971):第一版的UNX,以PDP-11/20的汇编语言写成。包括文件系统,fork、roff、ed等软件 V4(1973):以C语言从头写过,这使得UNX修改容易,可以在几个月内移植到新的硬件平台上。 最初C语言是为UNX设计的,所以C与UNX间有紧密的关系。 4 V6(1975):第一个在贝尔实验室外(尤其是大学中)广为流传的UNX版本。这也是UNX分支的 起点与广受欢迎的开始。1.xBSD(PDP-Ⅱ)就是由这个版本衍生出来的。 5 V7(1979):在许多NDX玩家的心目中,这是“最后一个真正的UNX”,这个版本包括一个完整 的K&RC编译器,Bourne shell。V7移植到VAX机器后称为32V。 6 目前开发UNX(System V)的公司是Unix System Laboratories(USL。USL本为AT&T所有,1993年 初被Novell收购。Novell于I993年末将UNIX这个注册商标转让给X/Open组织 目前为止,UNX有两大流派:那就是AT&T发布的UNX操作系统System V与美国加州大学伯克利分 校发布的UNX版BSD(Berkeley Software Distribution)。SVR4是两大流派融合后的产物。1991年底 与System V针锋相对的开放软件基金会(Open Software Foundation)推出了OSF/1。 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 3
3 UNIX 操作系统演进史 1. UNIX的历史开始于1969年ken Thompson,Dennis Ritchie(即著名的K&G,C语言的发明人)与一群 人在一部PDP-7上进行的一些工作,后来这个系统变成了UNIX。它主要的几个版本为: 2. V1(1971):第一版的UNIX,以PDP-11/20的汇编语言写成。包括文件系统,fork、roff、ed等软件 3. V4(1973):以C语言从头写过,这使得UNIX修改容易,可以在几个月内移植到新的硬件平台上。 最初C语言是为UNIX设计的,所以C与UNIX间有紧密的关系。 4. V6(1975):第一个在贝尔实验室外(尤其是大学中)广为流传的UNIX版本。这也是UNIX分支的 起点与广受欢迎的开始。1.xBSD (PDP-II)就是由这个版本衍生出来的。 5. V7(1979):在许多UNIX玩家的心目中,这是“最后一个真正的UNIX”,这个版本包括一个完整 的K&RC编译器,Bourne shell。V7移植到VAX机器后称为32V。 6. 目前开发UNIX(System V)的公司是Unix System Laboratories (USL)。USL本为AT&T所有,1993年 初被Novell收购。Novell于1993年末将UNIX这个注册商标转让给X/Open组织 7. 目前为止,UNIX有两大流派:那就是AT&T发布的UNIX操作系统System V与美国加州大学伯克利分 校发布的UNIX版BSD(Berkeley Software Distribution)。SVR4是两大流派融合后的产物。1991年底 ,与System V针锋相对的开放软件基金会(Open Software Foundation)推出了OSF/1
UNX操作系统分类 Mach BSD System V.3 0sF/1 System V.4 NEXT STEP* Free Sco BSD UNIX BSD/ IRIX OS SunOS Solaris Linux HP-UX UNIX definition DEC AIX 10 0SF/1 ,UNIX impieme起5o加 NEXTSTEP is dertved from BSD 4.3
4 UNIX 操作系统分类
当前主流的UNX系统 1.HP/UX、AIX等等-从早期SYSV和部分BSD系统发 展而来的商用操作系统 2.Solaris-从SunOS系统发展而来,并借鉴了一些 BSD规则 3.Linux-是几乎所有uniⅸ系统发展而来的“混血儿”, 但看起来更像SYSV-ish A.FreeBSD、NetBSD、OpenBSD-完全从主流BSD 发展而来的分支
5 当前主流的UNIX 系统 1. HP/UX、AIX等等– 从早期SYSV和部分BSD系统发 展而来的商用操作系统 2. Solaris– 从SunOS系统发展而来,并借鉴了一些 BSD规则 3. Linux– 是几乎所有unix系统发展而来的“混血儿”, 但看起来更像SYSV-ish 4. FreeBSD、 NetBSD、OpenBSD– 完全从主流BSD 发展而来的分支
提纲 原理篇 实践篇 ◆UNIX/LINUX系统概述 ◆UNIX/LINUX下第三方安全工具 ■系统体系结构 ■SSH ■系统服务与进程 ■ TCP WRAPPER ■系统启动过程 ■TRIPWIRE ■系统的安全级别 ■NON-EXEC STACK ◆UNIX/LINUX系统安全特性 ◆UNIX/LINUX系统入侵分析 ■物理安全 ■特征 ■常用命令介绍 ■处理方法 ■用户环境变量介绍 ◆UNIX/LINUX系统配置经验 ■文件系统安全 ■分区划分 ■账号安全 ■机器的启动密码 ■日志记录 ■用户管理 ■安全配置 ■系统文件安全 ■APACHE服务器配置要点 ■网络服务响应 ■FTP服务器配置要点 ■DNS服务器配置要点
6 UNIX/LINUX 系统概述 系统体系结构 系统服务与进程 系统启动过程 系统的安全级别 UNIX/LINUX 系统安全特性 物理安全 常用命令介绍 用户环境变量介绍 文件系统安全 账号安全 日志记录 安全配置 APACHE 服务器配置要点 FTP 服务器配置要点 DNS 服务器配置要点 提 纲 UNIX/LINUX 下第三方安全工具 SSH TCP_WRAPPER TRIPWIRE NON-EXEC STACK UNIX/LINUX 系统入侵分析 特征 处理方法 UNIX/LINUX 系统配置经验 分区划分 机器的启动密码 用户管理 系统文件安全 网络服务响应 原 理 篇 实 践 篇
计算机系统结构 一般情况下,我们不能直接操作棵机,必须通过一个 叫做基本输入输出系统的软件系统(英文为Basic 应用程序 Input//Output System,简称BIOS),才能操作控制 裸机,之所以这样称呼它,是因为它提供了最基本的 操作系统 计算机操作功能,如在屏幕上显示一点,接收一个键 盘字符的输入等。 基本输入输出系统(BIOS) 在基本输入输出系统的外面是操作系统(Operating System):专门负责管理计算机的各种资源,并提供 底层硬件设备 操作电脑所需的工作界面。有了它们,人们才可以方 便自如地使用电脑。 应用软件一般都运行在操作系统之上,由专业人员 根据各种需要开发。我们平时见到和使用的绝大部分 软件均为应用软件,如杀毒软件,文字处理软件,学 习软件,游戏软件,上网软件等等 具体结构图如右图所示:
7 底层硬件设备 基本输入输出系统(BIOS) 操 作 系 统 应用程序 计算机系统结构 一般情况下,我们不能直接操作裸机,必须通过一个 叫做基本输入输出系统的软件系统(英文为Basic Input/Output System,简称BIOS),才能操作控制 裸机,之所以这样称呼它,是因为它提供了最基本的 计算机操作功能,如在屏幕上显示一点,接收一个键 盘字符的输入等。 在基本输入输出系统的外面是操作系统(Operating System):专门负责管理计算机的各种资源,并提供 操作电脑所需的工作界面。有了它们,人们才可以方 便自如地使用电脑。 应用软件一般都运行在操作系统之上,由专业人员 根据各种需要开发。我们平时见到和使用的绝大部分 软件均为应用软件,如杀毒软件,文字处理软件,学 习软件,游戏软件,上网软件等等 具体结构图如右图所示:
Linux操作系统结构 用户进程 系统调用接口 LNUX内核 硬件:CPU、内存、硬盘、网络硬件等 用户进程:用户应用程序是运行在LNUX操作系统最高层的一个庞大的软件集合,当一个用户 程序在操作系统之上运行时,它就成为操作系统中的一个进程。 系统调用接口:在应用程序中,可通过系统调用来调用操作系统内核中特定的过程,以实现特 定的服务,比如创建一个新进程等。由若干条指令构成的过程:SHELL、WHO等 内核:操作系统的灵魂,它负责管理磁盘上的文件、内存,负责启动并运行程序,负责从网络 上接收和发送数据包等。内核实际是抽象的资源操作到具体硬件操作细节之间的接口。 硬件:这个子系统包括了LNUX安装时需要的所有可能的物理设备,如CPU、内存、硬盘、网 络硬件等
8 硬件:CPU、内存、硬盘、网络硬件等 LINUX 内核 系统调用接口 用户进程 Linux 操作系统结构 用户进程:用户应用程序是运行在LINUX操作系统最高层的一个庞大的软件集合,当一个用户 程序在操作系统之上运行时,它就成为操作系统中的一个进程。 系统调用接口:在应用程序中,可通过系统调用来调用操作系统内核中特定的过程,以实现特 定的服务,比如创建一个新进程等。由若干条指令构成的过程:SHELL、WHO等 内核:操作系统的灵魂,它负责管理磁盘上的文件、内存,负责启动并运行程序,负责从网络 上接收和发送数据包等。内核实际是抽象的资源操作到具体硬件操作细节之间的接口。 硬件:这个子系统包括了LINUX安装时需要的所有可能的物理设备,如CPU、内存、硬盘、网 络硬件等
Linux内核的构成 内存管理子系统 8C88988888688888886086866.co 内存管理子系统:允许多 个进程安全地共享主内存 区域,支持虚拟内存 : 虚拟文件系统 进程调度控制着进程对CPU 的访问,当需要选择下一个 进程间通信 虚拟文件系统隐藏了各种不同 进程运行时,由调度程序选 硬件的具体细节,为所有设备 进程间通信支持进程 提供了统一的接口,VS支持 择最值得运行的进程 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaak 间各种通信机制 几十种不同的文件系统 55686058686566 网络接口 网络接口提供了对各种网 络标准的存取和各种网络 硬件的支持 49pins 11pins 9
9 Linux 内核的构成 进程调度 (SCHED) 硬件驱动程序 逻辑文件系统 虚拟文件系统 (VFS) 进程间通信 (IPC) 硬件相关 硬件无关 内存管理子系统 (MM) 硬件驱动程序 网络协议 网络接口 (NET) 进程调度控制着进程对CPU 的访问,当需要选择下一个 进程运行时,由调度程序选 择最值得运行的进程 内存管理子系统:允许多 个进程安全地共享主内存 区域,支持虚拟内存 虚拟文件系统隐藏了各种不同 硬件的具体细节,为所有设备 提供了统一的接口,VFS支持 几十种不同的文件系统 网络接口提供了对各种网 络标准的存取和各种网络 硬件的支持 进程间通信支持进程 间各种通信机制
Linux进程调度子系统 进程调度子系统完成的主要功能: 允许进程建立自己的拷贝 IPC 决定哪一个进程将占用CPU,使得可运行进程之间进行有效地转移 接受中断并把他们发送到合适的内核子系统 在屏幕上的不同位置分别显示 发送信号给用户进程 各自的计数器值(16进制) 管理定时器硬件 当进程结束后,释放进程所占用的资源 NET -727212727 taskl 支持动态装入棋块,这些棋块代表着内核启动以后所增加的新功能 task2 task3 这种可装入的模块将由虚拟文件系统和网络接口使用 888888888888888888888888888888888 系统调 进程调度 用接口 进程 Scheduler内核任务调度程序 定时器管理 调度 模块管理 几几时钟中断(182次/秒) 3、进程调度示意图 2、进程调度的结构图 结构特定 的模块 10
10 Linux 进程调度子系统 FS IPC MM NET 结构特定 的模块 进程调度 定时器管理 模块管理 进程 调度 系统调 用接口 Scheduler内核任务调度程序 时钟中断(182次/ 秒) task1 task2 task3 在屏幕上的不同位置分别显示 各自的计数器值(16 进制) 3、进程调度示意图 2、进程调度的结构图 1、进程调度与其他子系统的依赖关系 SCHED 进程调度子系统完成的主要功能: ❖ 允许进程建立自己的拷贝 ❖ 决定哪一个进程将占用CPU,使得可运行进程之间进行有效地转移 接受中断并把他们发送到合适的内核子系统 ❖ 发送信号给用户进程 ❖ 管理定时器硬件 ❖ 当进程结束后,释放进程所占用的资源 ❖ 支持动态装入模块,这些模块代表着内核启动以后所增加的新功能 ,这种可装入的模块将由虚拟文件系统和网络接口使用
Linux内存管理子系统 中央处理单元(CPU) S 昂贵 功能单元 intel. pentium'4 快速 小容量 寄存器 内部cache 内部cache 便宜 低速 大容量 主存 110 w555w6www686o6885888b588886868oooboow 内存管理是Lir内核最复杂的任务之 一:主要包括地址映射、请页、交换、 磁盘 内存分配、内存回收、缓存、刷新、共 享等机制 存储器的层次结构 程序的创建和执行以及内存的初始化 BBBBBB80Obb880B88866-1
11 中央处理单元(CPU) 功能单元 寄存器 内部cache 内部cache 磁盘 主存 存储器的层次结构 Linux 内存管理子系统 昂贵 快速 小容量 便宜 低速 大容量 内存管理是Linux内核最复杂的任务之 一:主要包括地址映射、请页、交换、 内存分配、内存回收、缓存、刷新、共 享等机制 程序的创建和执行以及内存的初始化