第1章 技术背景 1
1.1 UNIX的发展与现状 1
1.1.1 UNIX的早期开发 1
1.1.2 UNIX的成形与现状 3
1.1.3 UNIX的版本 4
1.2 UNIX的优越性与未来 5
1.2.1 UNIX的优点 6
1.2.2 UNIX的原则 7
1.2.3 系统的比较 8
1.2.4 UNIX的未来发展 8
1.3 Solaris概述 9
1.3.1 Solaris的主要版本 9
1.3.2 Solaris的特点 9
1.4 本章小结 17
1.4.1 主要内容 17
1.4.2 课后习题 17
第2章 Solaris使用入门 18
2.1 基础知识 18
2.1.1 几个非常有用的命令 18
2.1.2 超级用户 20
2.1.3 大小写的区别 21
2.2 登录和退出 21
2.2.1 运行级 21
2.2.2 登录系统 22
2.2.3 关闭系统 22
2.3 管理工具 23
2.3.1 UNIX各版本使用的管理工具 23
2.3.2 Solaris中的工作方式 24
2.3.3 X Window 24
2.3.4 公用桌面环境 26
2.4 获得帮助 28
2.5 bc内部计算器 28
2.5.1 使用bc进行计算 28
2.5.2 使用bc的参量 31
2.5.3 在各种进制中使用bc 31
2.6 本章小结 33
2.6.1 主要内容 33
2.6.2 课后习题 34
第3章 Solaris系统的安装 35
3.1 安装概述 35
3.1.1 Solaris的安装步骤 35
3.1.2 安装前的准备 35
3.2 以交互式方式安装Solaris系统 41
3.3 本章小结 46
3.3.1 主要内容 46
3.3.2 课后习题 46
第4章 设备管理 47
4.1 硬盘管理 47
4.1.1 硬盘的选择 47
4.1.2 硬盘的命名规则 48
4.1.3 硬盘分区和格式化 50
4.1.4 硬盘的检测 52
4.1.5 硬盘的恢复 53
4.2 系统电源管理 57
4.2.1 选择使用电源管理 58
4.2.2 在图形界面下管理电源 58
4.2.3 使用命令行配置电源管理 63
4.2.4 显示器电源管理 67
4.3 软盘管理 69
4.3.1 软盘及软驱的介绍 69
4.3.2 软盘的卷管理 71
4.3.3 疑难解答 73
4.4 调制解调器 74
4.4.1 概述 74
4.4.2 如何设置调制解调器 74
4.4.3 使用Admintool Serial Ports来配置调制解调器 76
4.4.4 关于调制解调器的一些问题 76
4.5 光盘驱动器(CD-ROM) 76
4.5.1 光驱介绍 77
4.5.2 CD-ROM的安装 79
4.5.3 访问CD-ROM中的文件 80
4.6 串行鼠标的配置 82
4.7 主板的BIOS设置 83
4.7.1 概述 83
4.7.2 设备配置 83
4.8 本章小结 84
4.8.1 主要内容 84
4.8.2 课后习题 84
第5章 用户和组 85
5.1 进行用户账号管理的先决条件 85
5.1.1 系统管理员与用户 85
5.1.2 用户账户管理工具的介绍 86
5.1.3 添加账户所需要掌握的一些信息 87
5.2 添加用户账号 88
5.2.1 添加用户的一个关键(/etc/passwd文件) 88
5.2.2 用户标识符(UID) 90
5.2.3 主目录 91
5.2.4 用户密码 93
5.2.5 设置初始化参数 96
5.3 超级用户 98
5.3.1 超级用户的权限 98
5.3.2 登录和退出超级用户 99
5.3.3 由超级用户产生的联想 99
5.4 设置和管理组 100
5.4.1 关于组的介绍 100
5.4.2 另一个重要的文件:/etc/group文件 101
5.4.3 创建、修改和删除组 102
5.5 文件和目录的权限 104
5.5.1 概述权限问题 104
5.5.2 权限位 105
5.5.3 默认的权限(umask) 106
5.6 相关的基本命令 106
5.6.1 查询登录用户信息和用户设置的命令 106
5.6.2 一些有关的主要命令 107
5.7 本章小结 114
5.7.1 主要内容 114
5.7.2 课后习题 114
第6章 文件系统(上) 115
6.1 文件 115
6.1.1 文件类型 115
6.1.2 文件命名 118
6.1.3 文件和i节点 119
6.2 文件操作 119
6.2.1 文件比较命令 119
6.2.2 文件删除命令 123
6.2.3 文件移动和复制命令 124
6.2.4 文件查找命令 127
6.2.5 与文件内容相关的命令 127
6.3 目录 132
6.3.1 目录的属性 132
6.3.2 创建和删除目录 133
6.3.3 移动和复制目录 134
6.3.4 临时目录 134
6.4 本章小结 135
6.4.1 主要内容 135
6.4.2 课后习题 136
第7章 文件系统(下) 137
7.1 文件系统结构 137
7.1.1 特性 137
7.1.2 文件系统的分类 138
7.2 本地文件系统的空间管理 140
7.2.1 空间查询 140
7.2.2 文件系统空间的维护 144
7.2.3 当系统效率降低时 147
7.3 文件系统的完整性 148
7.4 文件系统的一致性 150
7.5 文件系统的管理 152
7.5.1 创建文件系统 152
7.5.2 加载文件系统 152
7.5.3 卸载文件系统 154
7.6 文件系统备份和恢复 155
7.6.1 概述 155
7.6.2 文件备份工具 156
7.6.3 档案的生成 160
7.6.4 从档案中提取文件 161
7.6.5 向磁盘或磁带输出档案文件时的一些问题 162
7.6.6 目录层次的拷贝 163
7.6.7 做追加备份 168
7.7 内存管理 170
7.7.1 受保护的编址方式 170
7.8 系统调用的机制 172
7.8.1 中断和异常 172
7.8.2 系统调用的机制 173
7.9 本章小结 173
7.9.1 主要内容 173
7.9.2 课后习题 173
第8章 进程系统 174
8.1 进程的概念 174
8.1.1 什么是进程 174
8.1.2 进程的状态 175
8.1.3 进程的结构 176
8.1.4 线程 177
8.2 进程的控制 179
8.2.1 进程的创建 179
8.2.2 进程睡眠、唤醒和等待 182
8.2.3 终止进程 183
8.3 进程调度 185
8.3.1 进程调度的意义和作用 185
8.3.2 进程调度的过程 186
8.4 进程管理的命令 188
8.4.1 ps 188
8.4.2 kill 192
8.4.3 nice 193
8.4.4 nohup 193
8.5 本章小结 193
8.5.1 主要内容 193
8.5.2 课后习题 193
第9章 文件编辑器 194
9.1 ed编辑器的基本操作 194
9.1.1 命令方式 195
9.2 vi编辑器的状态 196
9.3 主要操作 198
9.3.1 如何启动vi 198
9.3.2 移动光标 199
9.3.3 在编辑缓冲区中移动 201
9.3.4 插入数据 201
9.3.5 修改数据 203
9.3.6 删除数据 205
9.3.7 查找一个模式 207
9.3.8 替换一个模式 208
9.3.9 改变字母的大小写 209
9.3.10 控制行的长度 209
9.3.11 恢复删除 211
9.3.12 复制和移动 212
9.3.13 将已存在的数据读到编辑缓冲区 213
9.3.14 向文件中写入数据 214
9.3.15 改变编辑的文件 215
9.3.16 保存和退出 216
9.4 vi的配置 216
9.4.1 运行时的设置 216
9.4.2 选项设置 217
9.4.3 永久设置 221
9.5 本章小结 221
9.5.1 主要内容 221
9.5.2 课后习题 222
第10章 Bourne shell 223
10.1 shell概述 223
10.1.1 什么是shell 223
10.1.2 几种shell与历史 224
10.1.3 shell的相关特性比较 227
10.1.4 如何改变当前使用的shell 227
10.2 shell基础 228
10.2.1 Bourne shell基本概念 228
10.2.2 shell的启动 230
10.2.3 受限的shell 230
10.3 shell选项 231
10.3.1 shell启动时的选项 231
10.3.2 用set改变选项 232
10.4 shell变量 232
10.4.1 shell初始化的变量 233
10.4.2 用户自定义的变量 233
10.4.3 环境变量 234
10.4.4 变量替换 234
10.4.5 {}的用法 235
10.4.6 变量运算 236
10.4.7 传递变量到shell环境 237
10.5 shell的条件判断 238
10.5.1 if-then 238
10.5.2 if-then-else 239
10.5.3 if-then-elif-then-else 240
10.5.4 嵌套的if和elif结构 241
10.5.5 case语句 242
10.5.6 条件测试命令test 243
10.6 shell的循环语句 248
10.6.1 for循环 249
10.6.2 shift命令 249
10.6.3 until循环 251
10.6.4 while循环 251
10.6.5 循环的中断和跳出 252
10.7 shell的输入与输出 252
10.7.1 标准输入、标准输出以及标准错误 253
10.7.2 交互输入 253
10.7.3 输入与输出转向 253
10.8 shell函数 255
10.8.1 shell的函数 255
10.8.2 在函数或程序间传递参数 256
10.9 shell编程 256
10.9.1 shell解释命令的方法 257
10.9.2 shell的与/或结构 257
10.9.3 Bourne shell的内置命令 258
10.9.4 规范shell 259
10.9.5 调试shell程序 262
10.10 本章小结 264
10.10.1 主要内容 264
10.10.2 课后习题 264
第11章 Korn shell 265
11.1 Korn shell基础 265
11.1.1 关于Korn shell所增加的功能 265
11.1.2 初始化文件 266
11.2 Korn shell的选项 266
11.2.1 关于启动Korn shell的ksh命令 267
11.2.2 用set命令来设置参数选项 267
11.3 Korn shell的命令别名 270
11.3.1 什么是命令别名 270
11.3.2 用alias命令来定义命令别名 271
11.3.3 默认的命令别名 271
11.4 历史命令的使用 272
11.4.1 历史命令概述 272
11.4.2 设置历史命令的存储个数 273
11.4.3 显示历史命令列表 273
11.4.4 再次使用曾经使用过的命令 274
11.4.5 编辑历史命令列表中的命令 275
11.5 shell变量 277
11.5.1 Korn shell默认的变量 277
11.5.2 用户可以设置的Korn shell变量 278
11.6 Korn shell编程 280
11.6.1 使用条件表达式 281
11.6.2 函数 282
11.6.3 getopts命令 283
11.6.4 select语句 284
11.7 Korn shell的几个基本命令 284
11.8 本章小结 288
11.8.1 主要内容 288
11.8.2 课后习题 289
第12章 C shell 290
12.1 C shell基础概述 290
12.2 C shell别名 291
12.2.1 别名概述 291
12.2.2 在别名中使用参数 292
12.2.3 使用别名的例子之一:工作目录的跟踪 293
12.3 C shell的基本命令 293
12.3.1 内置C shell命令 293
12.3.2 简单命令 295
12.3.3 按条件执行命令 295
12.3.4 在一行输入多个命令 296
12.3.5 执行一行很长的命令 296
12.3.6 重复执行一条命令 296
12.3.7 以后台方式执行命令 296
12.3.8 在子shell中执行命令 297
12.4 C shell的命令历史 297
12.4.1 显示命令历史 297
12.4.2 使用历史替换执行命令 298
12.5 C shell的选项 299
12.6 C shell变量 300
12.6.1 概述 301
12.6.2 变量名限制 301
12.6.3 两个重要的变量 302
12.6.4 常用的变量赋值 303
12.6.5 C shell变量存储 303
12.6.6 变量替代(1) 304
12.6.7 变量替代(2) 305
12.6.8 显示变量的值 306
12.6.9 传送局部变量到环境 307
12.6.10 传递变量给一个应用 307
12.7 C shell编程 308
12.7.1 C shell的知识 308
12.7.2 shell的表达式和操作符 310
12.7.3 条件语句 313
12.7.4 循环语句 318
12.7.5 其他的语句 321
12.8 本章小结 322
12.8.1 主要内容 322
12.8.2 课后习题 322
第13章 Internet的历史和Solaris网络的发展 323
13.1 计算机网络的发展 323
13.1.1 单机面向终端的网络 323
13.1.2 计算机互连网络 325
13.1.3 统一体系结构,遵循标准协议的网络 325
13.2 Internet的产生和发展 325
13.2.1 Internet网的产生和发展 326
13.2.2 Internet网的结构 326
13.3 网络的基本服务 326
13.3.1 计算机网络的作用 327
13.3.2 计算机网络的基本服务 329
13.3.3 BBS服务 333
13.3.4 远程登录服务(Telnet) 334
13.3.5 数据交换技术EDI 335
13.3.6 浏览服务 336
13.3.7 其他服务 337
13.4 本章小结 338
13.4.1 主要内容 338
13.4.2 课后习题 338
第14章 网络 339
14.1 计算机网络的体系结构 339
14.1.1 层次型的体系结构 339
14.1.2 开放型的体系结构 340
14.2 ISO/OSI网络体系 341
14.2.1 ISO/OSI网络体系结构概述 341
14.2.2 ISO/OSI网络体系结构的物理层 342
14.2.3 ISO/OSI网络体系结构的数据链路层 343
14.2.4 ISO/OSI网络体系结构的网络层 345
14.2.5 ISO/OSI网络体系结构的运输层 345
14.2.6 ISO/OSI网络体系结构的协议层 346
14.3 TCP/IP协议 348
14.3.1 TCP/IP网络体系结构 349
14.3.2 IP层 349
14.3.3 主机传输层 352
14.3.4 配置TCP/IP 353
14.4 网络管理 360
14.4.1 查找常见的网络连接故障 360
14.4.2 修改网络配置 363
14.4.3 卸载繁忙设备 363
14.5 本章小结 365
14.5.1 主要内容 365
14.5.2 课后习题 365
第15章 通信 366
15.1 数据通信概述 366
15.1.1 数据通信概念 366
15.1.2 数据通信的常用标准 368
15.1.3 数据通信的前景 370
15.2 网络通信的基本命令 373
15.2.1 rlogin命令 373
15.2.2 telnet命令 375
15.2.3 ftp命令 376
15.2.4 rcp命令 380
15.3 调制解调器 381
15.3.1 基本概念 381
15.3.2 设置调制解调器的工具 382
15.3.3 设置调制解调器 383
15.4 字符终端 387
15.4.1 字符终端的连接 387
15.4.2 字符终端的SAF配置 387
15.4.3 Serial Ports配置字符终端 388
15.4.4 初始化不配置端口 388
15.4.5 删除端口配置 389
15.5 新闻组 389
15.5.1 新闻组概述 389
15.5.2 新闻阅读器 391
15.6 本章小结 393
15.6.1 主要内容 393
15.6.2 课后习题 393
第16章 邮件配置服务 394
16.1 MIME标准 394
16.1.1 MIME的由来 394
16.1.2 MIME的常用数据类型 395
16.1.3 MIME的意义 396
16.2 邮件服务概述 397
16.2.1 邮件服务基本概念 397
16.3 管理邮件服务 404
16.3.1 邮局管理员的职责 405
16.3.2 邮件队列 405
16.3.3 系统日志 407
16.4 配置邮件服务 409
16.4.1 邮件配置的基本分类 410
16.4.2 配置邮件服务 411
16.4.3 测试邮件服务程序 415
16.5 路由程序sendmail 416
16.5.1 sendmail安装 416
16.5.2 sendmail功能概述 417
16.5.3 sendmail工作过程 418
16.5.4 sendmail参数与配置参数 419
16.5.5 sendmail文件与文件配置 420
16.5.6 sendmail安全问题 437
16.6 本章小结 437
16.6.1 主要内容 437
16.6.2 课后习题 437
第17章 Solaris打印服务 438
17.1 打印的基础知识 438
17.1.1 打印的概念和几种常见的终端 438
17.1.2 打印机的基础知识 439
17.2 本地打印机的安装 442
17.2.1 用Admintool安装本地打印机需要的信息 442
17.2.2 安装打印机的步骤 442
17.2.3 用LP命令安装打印机所需的信息 443
17.3 Solaris的本地打印服务 444
17.3.1 Solaris打印服务的构成 444
17.3.2 LP命令的层次结构和功能 445
17.4 LP命令介绍 449
17.4.1 lp命令 449
17.4.2 lpstat命令 454
17.4.3 cancel命令 461
17.5 网络打印机的安装 462
17.5.1 设置打印服务器 462
17.5.2 具体安装步骤 463
17.5.3 用Admintool工具设置打印客户 464
17.5.4 用LP命令设置PostScript打印客户 464
17.6 管理打印机 465
17.6.1 允许和禁止打印服务 465
17.6.2 打印请求管理 465
17.6.3 管理打印机的配置 466
17.6.4 管理打印服务用户 467
17.7 本章小结 468
17.7.1 主要内容 468
17.7.2 课后习题 469
第18章 NFS和NIS+ 470
18.1 NFS分布式网络系统 470
18.1.1 NFS简介 470
18.1.2 NFS基本概念 471
18.1.3 加载和卸载 471
18.1.4 加载点 471
18.1.5 加载表 472
18.1.6 虚拟文件系统表 472
18.1.7 加载的步骤 472
18.2 用命令行来加载和卸载文件系统 473
18.2.1 使用加载和卸载命令 473
18.2.2 查找已加载的文件系统 475
18.2.3 加载虚拟文件系统表中的所有文件系统 475
18.2.4 加载特定类型的所有文件系统 476
18.2.5 加载单个文件系统 476
18.2.6 删除没有大文件的UFS文件系统 476
18.2.7 卸载所有远程文件系统 477
18.2.8 卸载特定的文件系统 477
18.3 NIS+服务环境介绍 478
18.3.1 NIS+的基本概念 478
18.3.2 NIS+和NIS的基本区别 479
18.3.3 NIS+和NIS的比较 479
18.3.4 NIS+名字空间 480
18.3.5 N1S+名字空间组件 481
18.3.6 NIS+安全 483
18.3.7 NIS+更新模块 486
18.3.8 NIS和N1S+兼容性 487
18.3.9 有名服务开关 487
18.4 NIS+的基本功能 488
18.4.1 Solstice主机管理程序 488
18.4.2 主机管理程序限制 491
18.4.3 如何使用NIS+表 491
18.5 NIS+的管理 492
18.5.1 NIS+命令的特点 492
18.5.2 NIS+命令介绍 492
18.5.3 应用举例 494
18.6 设置NIS+客户 497
18.6.1 安全考虑 498
18.6.2 预请求 499
18.6.3 NIS+客户凭证设置步骤 499
18.6.4 NIS+客户设置步骤 500
18.7 本章小结 503
18.7.1 主要内容 503
18.7.2 课后习题 503
第19章 自动加载服务 504
19.1 自动加载程序的概念 504
19.1.1 自动加载的使用 504
19.1.2 自动加载程序的概念 505
19.2 自动加载映射 505
19.2.1 自动加载映射的概念 505
19.2.2 默认的自动加载映射 506
19.2.3 间接映射 509
19.2.4 直接映射 509
19.3 映射项目文法及快捷方式 511
19.3.1 指定多个服务器 511
19.3.2 指定具有同一路径的多个服务器 512
19.3.3 为每个服务器指定加权因子 512
19.3.4 使用映射变量 513
19.4 自动加载程序工作过程及如何自动加载 513
19.4.1 自动加载程序工作过程 514
19.4.2 规划自动加载服务 514
19.5 设置自动加载服务 516
19.5.1 设置自动加载服务器系统 516
19.5.2 设置自动加载客户系统 516
19.5.3 显示有关NIS+自动加载映射信息 516
19.5.4 设置N1S+自动加载映射 518
19.6 本章小结 524
19.6.1 主要内容 524
19.6.2 课后习题 524
第20章 UUCP服务 525
20.1 UUCP的基本概念 525
20.1.1 什么是网络 525
20.1.2 UUCP——基本的网络互联工具 526
20.1.3 TCP/IP局域网、广域网和Internet 526
20.1.4 名字和地址 526
20.2 设置UUCP 529
20.2.1 接受UUCP呼叫 529
20.2.2 初始化UUCP呼叫 530
20.2.3 对话脚本 532
20.2.4 对有关文件的管理 533
20.2.5 守护程序 537
20.2.6 支持文件 537
20.3 UUCP的工具 538
20.3.1 uulog命令 539
20.3.2 uusat命令 539
20.4 UUCP的使用 540
20.5 基本命令 540
20.5.1 使用cu命令之前的准备 541
20.5.2 使用cu命令 541
20.5.3 rcp命令 541
20.5.4 FTP命令 542
20.5.5 使用UUCP uuto和uupick 547
20.5.6 uucp命令 549
20.6 网络疑难解答 549
20.6.1 不用NIS或NIS+而使用DNS的方法 550
20.6.2 怎样在Solaris中运行NIS服务器 550
20.6.3 找到那个机器上的客户与NIS+捆绑在一起 550
20.6.4 怎样才能让NIS+服务器为Sun OS 5.x提供DNS服务 551
20.7 本章小结 551
20.7.1 主要内容 551
20.7.2 课后习题 551
第21章 网络安全 552
21.1 安全等级 552
21.1.1 可信任计算机标准评估准则 552
21.1.2 可信任计算标准 554
21.1.3 C2级安全性和可信任计算基础 556
21.2 安全策略 557
21.2.1 站点的安全策略 557
21.2.2 安全策略方案 558
21.2.3 保护安全策略的责任 558
21.2.4 危险分析 559
21.2.5 识别资源 560
21.2.6 识别威胁 560
21.3 常见的几种威胁 560
21.3.1 未授权的访问 560
21.3.2 信息受到泄露 561
21.3.3 无法使用服务 561
21.4 网络使用和责任 561
21.4.1 安全策略应考虑的问题 562
21.5 口令文件 570
21.5.1 口令文件 570
21.5.2 影像口令文件 570
21.5.3 拨号口令文件 571
21.5.4 口令生命期和控制 573
21.5.5 破坏者 574
21.5.6 理解破坏者如何破坏口令 574
21.6 加密问题 575
21.6.1 使用加密保护网络 575
21.6.2 加密方法 576
21.7 验证 577
21.7.1 源身份验证 577
21.7.2 信息完整性 577
21.8 本章小结 578
21.8.1 主要内容 578
21.8.2 课后习题 578
第22章 ASET 579
22.1 ASET的基本内容 579
22.1.1 ASET的基本任务 579
22.1.2 ASET的安全等级 580
22.2 控制文件 581
22.3 ASET的运行过程 581
22.4 ASET的结果报告 584
22.5 ASET的执行记录 587
22.6 ASET的控制文件 589
22.7 ASET的环境文件 595
22.7.1 Shell环境变量 599
22.7.2 PERIODIC_SCHEDULE环境变量 599
22.7.3 TASKS环境变量 600
22.7.4 UID_ALIASES环境变量 600
22.7.5 YPCHECK环境变量 601
22.7.6 CKLISTPATH_level环境变量 601
22.8 ASET的运行 601
22.8.1 交互式运行ASET 602
22.8.2 定期运行ASET 605
22.8.3 ASET的错误信息 608
22.9 本章小结 610
22.9.1 主要内容 610
22.9.2 课后习题 610
附录1 vi命令综述 611
附录2 系统下各文件的作用 616
附录3 数据通信与计算机网络的常用标准 622
附3.1 CCITT V系列建议(电话网数据通信标准) 622
附3.2 CCITT x系列建议(公用数据网数据通信标准) 624
附3.3 ISO数据通信标准 625
附3.4 EIA数据传输标准 626
附3.5 CCITT x.200系列建议(OSI/RM) 626
附3.6 CCITT x.200系列建议的使用 628
附3.7 CCITT x.400系列建议(报文处理系统) 629
附3.8 CCITT x.500系列建议(目录服务系统) 629
附3.9 CCITT x.700系列建议(网络管理) 630
附3.10 IEEE LAN标准 631
附3.11 Sendmail的命令行 631
附3.12 Sendmail配置选项 632
附3.13 参考文献 634