![UNIX 技术内幕(原书第4版)[按需印刷]](http://images.china-pub.com/ebook/7788/zcover.jpg)
最 低 价:¥178.00
| 第一部分 基本操作 第1章 启动和关机1 1.1 介绍1 1.2 五步引导过程概述1 1.3 第1步:固件—硬件自识别1 1.3.1 固件的一些实例2 1.3.2 固件的工作3 1.3.3 固件设置3 1.3.4 固件的机制和特点4 1.4 第2步:bootloader—载入os12 1.4.1 bootloader的工作12 1.4.2 bootloader的机制和特点12 1.5 第3步:内核—初始化和控制转移13 1.5.1 内核的工作14 1.5.2 内核的机制和特点15 1.6 第4步:init进程和初始化脚本16 1.6.1 init的工作17 1.6.2 init的机制和特点:inittab17 1.6.3 init的机制和特点:init脚本20 1.7 第5步:交给管理员—其他杂项22 .1.8 系统关闭和更改init级别23 1.9 dmesg显示的red hat引导顺序23 1.10 dmesg显示的solaris引导顺序26 1.11 最佳操作29 1.12 在线参考30 1.13 注释30 第2章 管理磁盘硬件32 2.1 介绍32 2.2 物理设备32 2.3 独立于os的硬件通信标准33 2.3.1 串行通信简述33 2.3.2 firewire(ieee 1394)简述33 2.3.3 usb简述34 2.3.4 atapi简述34 2.3.5 并行通信简述34 2.3.6 ide/ata35 2.3.7 scsi37 2.4 了解你的系统48 2.4.1 命名约定48 2.4.2 让os报告它识别到的硬件49 2.5 添加/删除磁盘(和其他设备)52 2.5.1 添加设备53 2.5.2 删除设备55 2.6 最佳操作56 2.7 在线参考57 2.8 注释59 第3章 文件系统管理62 3.1 介绍62 3.2 合理划分磁盘空间62 3.2.1 虚拟设备:分区62 3.2.2 逻辑结构:文件系统66 3.2.3 划分原则69 3.2.4 分区的技术细节74 3.3 文件系统的进一步讨论76 3.3.1 文件系统组成部分管理员须知77 3.3.2 文件系统类型85 3.4 管理本地文件系统90 3.4.1 本地文件系统创建90 3.4.2 本地文件系统可用性管理91 3.4.3 空间管理96 3.5 可移动存储介质100 3.6 最佳操作101 3.7 在线参考102 3.8 注释102 第4章 用户管理105 4.1 身份、实体、权力的定义105 4.2 在本地存储基本用户信息107 4.2.1 /etc/passwd107 4.2.2 /etc/group109 4.2.3 /etc/shadow111 4.3 在网络上共享用户(或其他人的)信息115 4.3.1 rsync,rdist,cfengine115 4.3.2 nis(被nis+取代)116 4.3.3 ldap127 4.4 创建帐户129 4.4.1 策略129 4.4.2 技术问题133 4.5 删除帐户136 4.5.1 策略136 4.5.2 技术问题138 4.6 最佳操作140 4.7 在线参考142 4.8 注释143 第5章 网络应用147 5.1 介绍147 5.2 tcp/ip147 5.2.1 internet是网络的网络147 5.2.2 ip地址150 5.2.3 ip配置与故障排除命令156 5.2.4 服务与端口162 5.3 最佳操作166 5.4 在线参考167 第6章 日志169 6.1 介绍169 6.2 标准unix系统日志:syslog169 6.2.1 bsd系统日志169 6.2.2 syslog内部模式173 6.2.3 syslog.conf174 6.3 计时:ntp178 6.3.1 ntp结构179 6.3.2 在系统中配置ntp179 6.4 配置系统的日志安全180 6.4.1 保护本地日志配置181 6.4.2 保护远程日志配置182 6.5 使用syslog记录应用程序日志185 6.6 syslog以外的特定应用程序日志186 6.7 syslog以外的标准系统日志186 6.8 跨平台记录syslog的其他方式190 6.9 日志分析和报告190 6.9.1 日志分析192 6.9.2 实时/准实时警告和通知194 6.9.3 日志循环和保存196 6.10 最佳操作198 6.11 在线参考199 6.12 注释200 第7章 身份验证201 7.1 介绍201 7.2 身份验证的定义201 7.3 unix密码验证概述201 7.4 好的密码和糟糕的密码202 7.4.1 linux red hat 7.1中的密码检查规则203 7.4.2 solaris 2.8中的密码检查规则203 7.4.3 linux red hat 7.1中的密码有效期205 7.4.4 solaris 2.8中的密码有效期206 7.5 基本unix密码实现206 7.5.1 linux red hat 7.1中的密码散列207 7.5.2 solaris 2.8中的密码散列208 7.5.3 linux red hat 7.1和 solaris 2.8的 本地密码文件格式208 7.5.4 linux red hat 7.1中的shadow 密码项域208 7.5.5 solaris 2.8中的shadow密码项域208 7.5.6 在linux red hat 7.1中编辑密码文件209 7.5.7 在solaris 2.8中编辑密码文件209 7.5.8 linux red hat 7.1中的newusers程序209 7.6 密码破解210 7.7 网络信息系统211 7.7.1 linux red hat 7.1中的nsswitch.conf 文件213 7.7.2 solaris 2.8中的nsswitch.conf文件213 7.8 其他unix密码算法214 7.8.1 linux red hat 7.1中的散列算法214 7.8.2 solaris 2.8中的散列算法214 7.9 其他身份验证方案215 7.10 ssh和身份验证217 7.10.1 linux red hat 7.1的openssh217 7.10.2 solaris 2.8中的ssh选项218 7.10.3 kerberos220 7.11 集成pam220 7.11.1 linux red hat 7.1中的pam223 7.11.2 solaris 2.8中的pam224 7.12 ident服务器和身份验证224 7.12.1 linux red hat 7.1的identd守护进程225 7.12.2 solaris 2.8的identd守护进程225 7.13 最佳操作225 7.14 参考226 第8章 系统安装后的保护措施228 8.1 必须加强系统228 8.2 安装补丁:过程与策略229 8.2.1 安装solaris时230 8.2.2 在red hat linux系统中安装补丁231 8.2.3 mandrake linux 232 8.2.4 安装补丁的综合考虑232 8.3 除了安装补丁以外,为什么还需要 其他措施232 8.3.1 第1步:有人在程序中发现了一个 bug232 8.3.2 第2步:有人意识到这个bug是个 安全漏洞233 8.3.3 第3步:有人指出如何利用这个 漏洞234 8.3.4 第4步:有人可能会将漏洞的信息 公开234 8.3.5 第5步:发布源代码补丁235 8.3.6 第6步:发布二进制形式的 (供应商)补丁235 8.3.7 第7步:人们应用了补丁236 8.4 审查服务236 8.4.1 第一部分:inetd/xinetd审查236 8.4.2 第二部分:使用netstat、lsof和一些 检查工具跟踪其余信息243 8.4.3 定期检查完整性253 8.5 安全的网络守护进程替代产品253 8.5.1 tcp wrappers(tcpd)253 8.5.2 secure shell(ssh)254 8.5.3 安全portmapper(portmap/rpcbind)254 8.6 审查密码255 8.7 使用bastille linux实现自动化锁定 linux/unix 256 8.7.1 帐户安全(accountsecurity.pm)257 8.7.2 文件权限(filepermissions.pm)257 8.7.3 关闭各种守护进程(miscellaneous- daemons.pm)258 8.7.4 引导安全(bootsecurity.pm)258 8.7.5 添加功能增强的日志(logging.pm)258 8.7.6 配置各种pam设置(configure- miscpam.pm)258 8.7.7 禁用用户工具(disableusertools.pm)258 8.7.8 打印(printing.pm)259 8.7.9 apache(apache.pm)259 8.7.10 dns(dns.pm)259 8.7.11 ftp(ftp.pm)259 8.7.12 sendmail(sendmail.pm)259 8.7.13 安全的inetd配置(secureinetd.pm)260 8.7.14 tmp目录保护(tmpdir.pm)260 8.7.15 防火墙(firewall.pm)260 8.7.16 端口扫描攻击检测程序(psad.pm)260 8.8 使用其他工具实现自动化锁定 solaris/unix261 8.8.1 titan261 8.8.2 solaris专用的加强工具:yassp 和jass264 8.9 最佳操作264 8.10 资源265 8.11 注释265 第9章 日常系统管理268 9.1 概述268 9.2 主动的系统管理员268 9.2.1 成为root的重要性268 9.2.2 进程管理269 9.2.3 查看系统日志273 9.2.4 检查分区使用情况274 9.2.5 赞成和反对使用配额的理由274 9.2.6 系统是何时启动的275 9.2.7 所有程序都在运行吗275 9.2.8 备份完成了吗276 9.2.9 成为系统环境专家277 9.3 反应式管理277 9.3.1 降低防范277 9.3.2 排除故障278 9.3.3 解释用户请求279 9.3.4 删除的mailspool281 9.3.5 “新人员需要帐户”的情况283 9.3.6 “需要为web页组和邮件组创建 帐户”的情况283 9.3.7 “<在此插入应用程序名>有问题” 的情况284 9.3.8 需要新硬件284 9.3.9 需要新软件/许可证285 9.4 最佳操作285 9.5 在线参考286 第二部分 关键子系统 第10章 x window系统287 10.1 介绍287 10.2 x目录结构287 10.2.1 xfree86风格287 10.2.2 solaris风格287 10.3 x 发行版导航287 10.4 非基础性的基础知识289 10.5 安全性290 10.5.1 基于主机的授权290 10.5.2 xauth:更强的验证方法291 10.5.3 其他验证方案293 10.5.4 启动安全验证293 10.6 自定义环境(以用户身份)294 10.6.1 .xsession294 10.6.2 资源295 10.6.3 键映射298 10.6.4 实用应用程序:xkeycaps299 10.6.5 窗口管理器和环境300 10.7 系统级x环境301 10.7.1 xdm301 10.7.2 x字体304 10.7.3 字体存储方式306 10.7.4 字体存储位置307 10.7.5 字体路径307 10.8 参考307 第11章 名称服务(dns)309 11.1 介绍309 11.1.1 域和子域309 11.1.2 bind310 11.1.3 名称服务基本原理310 11.1.4 服务器与客户端的区别313 11.1.5 fqdn313 11.2 客户端(即解析程序)313 11.3 名称服务器315 11.3.1 主名称服务器和从属名称服务器315 11.3.2 配置bind启动316 11.3.3 配置区317 11.3.4 维护dns324 11.3.5 仅起高速缓存作用的名称服务器325 11.4 工具和故障排除325 11.4.1 nslookup325 11.4.2 dig326 11.5 最佳操作326 11.6 在线参考326 第12章 邮件328 12.1 unix邮件处理328 12.1.1 unix邮件投递代理329 12.1.2 unix邮件传输代理331 12.1.3 unix邮件用户代理334 12.1.4 smtp协议336 12.2 sendmail mta包344 12.2.1 配置sendmail345 12.2.2 使用m4宏预处理程序345 12.3 unix邮件客户端347 12.3.1 unix工作站邮件配置347 12.3.2 使用pine阅读和发送邮件消息348 12.4 服务器主题349 12.4.1 专用域邮件集中器349 12.4.2 使用procmail作为本地邮件 投递代理351 12.4.3 smtp验证355 12.4.4 imap服务器和pop服务器358 12.4.5 imap和pop安全362 12.5 最佳操作363 12.6 在线参考364 第13章 文件共享365 13.1 文件共享概述365 13.1.1 文件共享的概念365 13.1.2 文件共享的历史366 13.1.3 文件共享的现状367 13.1.4 当网络策略不支持同时使用文件 共享时的共享技术369 13.2 设置nfs370 13.2.1 nfs概述370 13.2.2 服务器设置374 13.2.3 客户端设置381 13.2.4 nfs性能调节和故障排除386 13.3 设置samba390 13.3.1 samba概述391 13.3.2 服务器设置394 13.3.3 samba客户端设置404 13.3.4 samba故障排除和性能调节405 13.4 最佳操作406 13.5 在线参考406 第14章 打印408 14.1 介绍408 14.2 后台打印系统409 14.2.1 将作业加入队列409 14.2.2 过滤作业411 14.2.3 命令412 14.3 system v下的打印412 14.3.1 配置文件412 14.3.2 命令413 14.3.3 添加本地打印机配置413 14.3.4 在客户端添加远程打印机配置414 14.3.5 删除打印机配置414 14.3.6 修改默认目标414 14.3.7 提交打印作业请求415 14.3.8 状态信息415 14.3.9 取消打印作业请求415 14.3.10 终止/启动后台队列415 14.3.11 终止/启动打印415 14.3.12 将作业转移到另一个目标416 14.3.13 记帐416 14.4 bsd系统下的打印416 14.4.1 配置文件416 14.4.2 命令416 14.4.3 添加本地打印机配置417 14.4.4 在客户端添加远程打印机配置418 14.4.5 删除打印机配置419 14.4.6 修改默认目标419 14.4.7 提交打印作业请求419 14.4.8 状态信息419 14.4.9 取消打印作业请求419 14.4.10 终止/启动后台队列420 14.4.11 终止/启动打印420 14.4.12 记帐420 14.5 lprng下的打印420 14.5.1 配置文件420 14.5.2 命令421 14.5.3 添加本地打印机配置422 14.5.4 在客户端添加远程打印机配置423 14.5.5 删除打印机配置423 14.5.6 修改默认目标423 14.5.7 提交打印作业请求423 14.5.8 状态信息423 14.5.9 取消打印作业请求424 14.5.10 终止/启动后台队列424 14.5.11 终止/启动打印424 14.5.12 将作业转移到另一个目标424 14.5.13 记帐424 14.6 cups下的打印424 14.6.1 配置文件424 14.6.2 命令425 14.6.3 添加本地打印机配置425 14.6.4 在客户端添加远程打印机配置428 14.6.5 删除打印机配置428 14.6.6 修改默认目标428 14.6.7 提交打印作业请求428 14.6.8 状态信息429 14.6.9 取消打印作业请求429 14.6.10 终止/启动后台队列429 14.6.11 终止/启动打印429 14.6.12 将作业转移到另一个目标429 14.6.13 记帐429 14.6.14 打印机配置429 14.7 最佳操作429 14.8 在线参考430 第15章 基本web服务431 15.1 介绍431 15.2 提供基本web服务431 15.3 获取并安装apache432 15.3.1 apache须知432 15.3.2 获取源代码433 15.3.3 配置源代码433 15.3.4 生成apache434 15.3.5 安装新服务器434 15.4 配置apache436 15.4.1 配置文件436 15.4.2 全局配置指令437 15.4.3 配置默认服务器439 15.4.4 配置虚拟服务器443 15.5 服务器端嵌入444 15.5.1 使用ssi的原因444 15.5.2 在apache中配置ssi444 15.5.3 测试ssi示例445 15.6 配置mime446 15.7 cgi脚本448 15.7.1 启用cgi448 15.7.2 测试配置449 15.8 使用apache模块添加特性449 15.8.1 apache模块的定义449 15.8.2 标准模块450 15.8.3 附加模块451 15.8.4 模块配置指令451 15.9 运行改变根目录的(chrooted)web 服务器452 15.9.1 运行改变根目录服务器的原因453 15.9.2 设置chroot环境453 15.10 参考454 15.11 最佳操作454 第16章 备份455 16.1 介绍455 16.2 备份的步骤和条件456 16.2.1 预算459 16.2.2 系统或数据的关键性459 16.2.3 了解可能遇到的恢复类型460 16.2.4 恢复速度462 16.2.5 保存462 16.2.6 离场存储462 16.2.7 中央专用备份服务器463 16.2.8 完成配置—备份窗口和其他 约束463 16.2.9 选择备份介质463 16.2.10 监视的重要性464 16.2.11 还原/恢复测试464 16.2.12 配套的系统配置文档465 16.2.13 指定备份计划465 16.2.14 书写备份策略466 16.2.15 改进系统467 16.3 备份与恢复467 16.3.1 常用嵌入工具467 16.3.2 免费工具468 16.3.3 商业化产品479 16.4 最佳操作480 16.5 在线参考481 16.6 总结481 第三部分 应用程序和工具 第17章 开放源码软件管理483 17.1 介绍483 17.1.1 有关自由软件的更多话题483 17.1.2 一些基本的自由软件484 17.1.3 在哪里查找自由和开放源码软件484 17.1.4 厂商提供的“自由”软件485 17.1.5 应当选择源码还是二进制形式485 17.1.6 安装二进制版本486 17.1.7 solaris包488 17.2 生成源码分发493 17.2.1 需求494 17.2.2 生成一个软件包:openssh495 17.2.3 生成软件500 17.2.4 高级软件配置502 17.3 管理软件安装511 17.4 注释519 第18章 数据库520 18.1 介绍520 18.2 数据库综述520 18.2.1 什么是数据库520 18.2.2 系统结构523 18.2.3 数据库就是操作系统524 18.2.4 数据库为什么要吞噬如此多的 资源527 18.3 挑选一家数据库厂商533 18.3.1 平台选择533 18.3.2 支持大型系统还是支持小型系统533 18.3.3 性能和复杂性533 18.3.4 支持和接口534 18.3.5 价格和厂商可用性534 18.4 oracle数据库综述535 18.4.1 机器设置536 18.4.2 基本结构539 18.4.3 安装过程542 18.4.4 数据库环境和文件配置544 18.4.5 备份547 18.4.6 mysql概述549 18.5 总结552 第19章 自动化554 19.1 介绍554 19.2 脚本编制554 19.2.1 解释型和编译型语言554 19.2.2 其他脚本编制语言:expect、 perl等560 19.3 调度和定期执行的进程563 19.3.1 at:面向未来事件的一次性调度563 19.3.2 cron:定期调度564 19.3.3 anacron:可拦截的定期调度565 19.3.4 cron的例子565 19.4 用cfengine进行自动化配置管理567 19.4.1 工作原理568 19.4.2 用网络分发cfengine的配置文件569 19.4.3 一个cfengine命令实例—tidy:569 19.4.4 示范cfengine.conf文件571 19.5 改进自动化技术的提示573 19.5.1 再教育573 19.5.2 良好工程574 19.6 对自动化价值的解释574 19.7 最佳操作575 19.8 在线参考575 第20章 高级web服务576 20.1 提供高级web服务576 20.1.1 动态与静态站点576 20.1.2 站点所用软件578 20.1.3 运行时间、可靠性和风险582 20.1.4 把用户看成测试者582 20.1.5 集成和系统级设置583 20.1.6 成本(以及由管理层决定的事情)583 20.1.7 不便共享时:专用服务器的情况588 20.2 脚本语言588 20.3 数据库592 20.4 语言594 20.4.1 php594 20.4.2 perl597 20.4.3 java599 20.4.4 jsp600 20.4.5 asp600 20.4.6 javascript601 20.4.7 身份验证、状态保存和cookie603 20.4.8 服务器身份验证605 20.4.9 状态变量607 20.5 安全性607 20.5.1 系统安全性608 20.5.2 访问:谁有权用它和在哪里使用608 20.5.3 污染609 20.6 后期工作610 20.6.1 人/页611 20.6.2 趋势分析612 20.6.3 负载问题612 20.6.4 重新设计和报酬613 20.6.5 干扰和准确的用户数据613 20.6.6 可视化和使用情况614 20.6.7 web广告615 第四部分 改善系统管理 第21章 安全性617 21.1 介绍617 21.2 为什么要担心617 21.3 复杂系统的危险性618 21.4 构建一个威胁模型619 21.5 安全哲学621 21.5.1 我们完了621 21.5.2 两种安全哲学621 21.6 安全就是麻烦623 21.6.1 备份623 21.6.2 系统加固623 21.6.3 系统补丁625 21.6.4 阅读日志626 21.6.5 侦测问题627 21.7 配置管理629 21.8 策略630 21.8.1 策略理论630 21.8.2 规程631 21.8.3 管理层要买帐632 21.9 道德632 21.10 总结634 21.11 最佳操作634 21.12 资源634 第22章 入侵侦测636 22.1 介绍636 22.2 网络的危险性636 22.3 网络协议概念637 22.3.1 封装637 22.3.2 分层638 22.4 堆栈639 22.4.1 iso osi七层模型639 22.4.2 tcp/ip模型640 22.5 探索tcp/ip协议656 22.5.1 缓冲区溢出656 22.5.2 端口扫描656 22.6 正签名657 22.7 负签名657 22.8 snort659 22.8.1 安装snort659 22.8.2 测试snort661 22.9 nids665 22.10 最佳操作674 22.11 在线参考675 第23章 需求分析和性能监视676 23.1 需求分析676 23.1.1 资源677 23.1.2 工作目标677 23.1.3 需求分析驱动设计678 23.1.4 需求分析中的注意事项678 23.2 性能监视679 23.2.1 找出瓶颈679 23.2.2 系统整体性能状态680 23.3 容量展望与计划693 23.3.1 建立计划表694 23.3.2 指定替换部件694 23.3.3 维持灵活性694 23.4 最佳操作695 23.5 在线参考695 第24章 与人相处696 24.1 赢得尊重696 24.2 用户想要什么696 24.3 做一名有远见的管理员697 24.3.1 如何教用户698 24.3.2 让他人更能干698 24.3.3 如何教老板700 24.3.4 提前维护701 24.4 成功的仪表701 24.5 与其他管理员相处702 24.5.1 指导703 24.5.2 新上岗的管理员须知705 24.6 研讨会和协会705 24.6.1 加入usenix和sage706 24.6.2 和志同道合者聊一聊708 24.7 编写文件的好处709 24.8 管理性策略711 24.8.1 领导能力712 24.8.2 制定章程714 24.9 获取所需资源715 24.10 好的系统管理员同时也是好人718 24.11 你不可能取悦每个人718 第五部分 附 录 附录a 高级安装步骤721 附录b 从磁盘到文件系统726 附录c 用户创建核对表737 附录d 二进制、十六进制小结739 附录e unix密码系统747 附录f 方便的命令758 附录g 参考资料765 附图 scsi故障诊断流程图769 |
商品评论(0条)