《FreeBSD 6.0架设管理与应用》 编著 王俊斌

感谢编著者为我们带来这么好的作品,此文档仅供FreeBSD学习者参考用。在未征得编著者书面同意前,请勿用于商业用途。




第一章 FreeBSD 简介
1.1 什么是FreeBSD?
1.2 为什么要选择FreeBSD?
1.3 为什么不选择FreeBSD?
1.4 FreeBSD的版本命名规则
1.5 如何取得FreeBSD?
1.6 如何得到更多信息?
1.7 本书光盘使用说明

第二章 安装 FreeBSD
2.1 安装前需知

2.1.1 如何取得FreeBSD
2.1.2 硬盘分割表的概念
2.1.3 硬盘空间的配置
2.1.4 多重开机
2.2 系统安装
2.2.1 开机
2.2.2 设定核心
2.2.3 开始自订安装
2.2.4 分割硬盘
2.2.5 安装自订套件
2.2.6 选择安装来源
2.2.7 最后的设定
第三章 UNIX 系统入门
3.1 第一次登入系统
3.2 认识 UNIX 使用环境
3.2.1 UNIX 指令语法
3.2.2 UNIX 的目录结构
3.2.3 档案与目录管理
3.2.4 重导 I/O 及管道
3.3 文书编辑器
3.3.1 ee
3.3.2 vi
3.4 Shell 环境简介
3.4.1 Shell 的环境变量
3.4.2 Tcsh 的环境设定
3.5 使用者及权限管理
3.6 系统服务及行程管理
3.6.1 行程
3.6.2 系统服务及行程管理
3.6.3 基本系统服务 inetd
3.6.4 定时执行工作
3.7 虚拟终端机
3.7.1登入后的讯息
3.7.2 登入前的讯息
3.7.3 使用中文终端机
第四章 使用者管理
4.1 账号管理
4.1.1 新增使用者
4.1.2 /etc/group 介绍
4.1.3 /etc/master.passwd 介绍
4.1.4 删除使用者
4.2 系统资源限制
4.2.1 登入类别
4.2.2 磁盘配额
4.3 大量新增账号
4.4 备份与移转
4.4.1备份
4.4.2 移转
4.5 使用历程记录
4.5.1 记录使用者指令
4.5.2 监看使用者
4.5.3 控制 root 的使用
第五章 网络设定
5.1 网络概念介绍
5.1.1 IP 地址与子网掩码
5.1.2 申请 ADSL/Cable 的选择
5.1.3 申请网域名称
5.2 固接网络
5.2.1 使用 sysinstall
5.2.2 手动设定
5.3 DHCP 动态取得 IP
5.4 ADSL
5.4.1 编译核心
5.4.2 修改 /etc/ppp/ppp.conf
5.4.3 修改 /etc/rc.conf
5.5 Modem 拨接
5.5.1 编辑 /etc/ppp/ppp.conf
5.5.2 编辑 /etc/ppp.linkup
5.6 网络相关指令
5.6.1 telnet
5.6.2 ftp
5.6.3 ping
5.6.4 nslookup
5.6.5 netstat
5.6.6 traceroute
5.6.7 sockstat
5.6.8 ifconfig
5.6.9 tcpdump
5.6.10 lynx
第六章 档案系统管理
6.1 FreeBSD 的档案系统架构
6.2 监看档案系统使用情形
6.2.1 磁盘空间使用情形
6.2.2 磁盘使用效率
6.3 挂入档案系统
6.3.1 挂入与卸载 FreeBSD 档案系统
6.3.2 挂入与卸载其它档案系统
6.3.3 开机时自动挂入
6.4 磁盘分割与格式化
6.4.1 使用 sysinstall
6.4.2 使用命令列
6.5 使用 USB 磁盘驱动器
6.5.1 事前的准备
6.5.2 挂入已格式化的磁盘驱动器
6.5.3 格式化 USB 磁盘驱动器
6.6 档案系统修复
6.7 档案系统快照

第七章 系统安全
7.1 概论
7.2 系统管理
7.2.1 执行程序的路径
7.2.2 降低安装软件的风险
7.2.3 kernel Security Level
7.2.4 检视系统记录
7.2.5 数据的保全
7.3 账号管理
7.3.1 慎选合宜的密码
7.3.2 控制 root 的使用
7.3.3 限制系统资源的使用
7.3.4 限制 crontab 及 at 的使用
7.4 网络管理
7.4.1 关闭不必要的服务
7.4.2 使用 ssh
7.4.3 TCP Wrapper
7.4.4 ipfw
7.5 漏洞修补

第八章 编译核心
8.1 为什么要重新编译核心
8.2 修改核心
8.2.1 基本的设定
8.2.2 一般选项
8.2.3 各种档案系统的支持
8.2.4 软硬件兼容性设定
8.2.5 总线及软盘机
8.2.6 IDE 接口装置
8.2.7 SCSI 装置
8.2.8 基本外围设备
8.2.9 网络卡设定
8.2.10 虚拟装置
8.2.11 USB 装置
8.3 编译与安装
8.3.1 编译新的核心
8.3.2 新的核心有问题
第九章 系统调校
9.1 监看系统效能
9.2 使用 sysctl 调校
9.2.1 kern.ipc.maxsockets
9.2.2 net.inet.ip.portrange.*
9.2.3 kern.ipc.shm_use_phys
9.2.4 vfs.vmiodirenable
9.2.5 vfs.write_behind
9.2.6 vfs.hirunningspace
9.2.7 net.inet.tcp.sendspace 及 net.inet.tcp.recvspace
9.2.8 net.inet.tcp.always_keepalive
9.2.9 net.inet.tcp.delayed_ack
9.2.10 kern.ipc.somaxconn
9.2.11 kern.maxfiles
9.2.12 kern.maxusers
9.2.13 kern.ipc.nmbclusters
9.2.14 hw.ata.wc
9.3 调整硬盘参数
9.4 虚拟内存管理

第十章 软件安装
10.1 概论
10.2 使用 package
10.2.1 安装 Package
10.2.2 管理 Package
10.3 使用 ports
10.4 更新 port tree
10.5 使用 portupgrade 更新软件
10.6 传统安装方式

第十一章 X Window 的使用
11.1 安装 X Window
11.2 X Window下的中文软件
11.2.1 中文终端机
11.2.2 中文输入
第十二章 NAT 及防火墙
12.1 概论
12.1.1 NAT
12.1.2 具封包过滤的桥接器
12.2 NAT
12.2.1 设定 kernel
12.2.2 设定 rc.conf
12.2.3 设定 rc.firewall
12.2.4 client 端的设定
12.2.5 NAT Port Forwarding
12.3 防火墙
12.3.1 ipfw 规则
12.3.2 范例
12.3.3 一些小建议
12.4 封包过滤桥接器

第十三章 网页服务器
13.1 概论
13.2 安装及设定 Apache
13.2.1使用 ports 安装
13.2.2 Apache 基本设定
13.3 http.conf 说明
13.4 PHP 进阶设定
13.5 Apache 服务器状态与管理
13.5.1 Apache 状态信息
13.5.2 效能测试
13.5.3 维护服务器记录文件
第十四章 网页服务器进阶应用
14.1 HTTP 安全与 SSL 协定
14.1.1 产生金钥
14.1.2 设定及启动 HTTPS
14.2 对目录设定密码保护
14.3 虚拟主机
14.4 网页记录分析
14.5 MRTG 流量分析
14.5.1 安装 SNMP
14.5.2 安装 MRTG
第十五章 FTP 服务器
15.1 FTP 概论
15.2 设定 FTP 服务器
15.2.1 启动 FTP 服务器
15.2.2 编辑欢迎讯息
15.2.3 FTP 服务器管理
15.3 FTP 权限控制
15.3.1 限制账号与联机来源
15.3.2 限制上传下载权限
15.3.3 chroot
15.3.4 匿名的 FTP
15.4 SmbFTPD
15.4.1 安装 SmbFTPD
15.4.2 限制登入账号
15.4.3 限制上下传频宽
15.4.4 匿名的 FTP
15.5 SmbFTPD 的目录权限控制
15.5.1 何谓 SMB Mode
15.5.2 如何设定 SMB Mode
15.5.3 设定范例
15.5.4 chroot
15.6 SSL/TLS 联机加密
15.6.1 设定启用 SSL/TLS
15.6.2 安装支持 SSL/TLS 的客户端软件
15.7 smbftpd.conf
15.7.1 系统区段
17.7.2 使用者登入控制
17.7.3 FTP 目录权限控制
17.7.4 匿名使用者控制
17.7.5 档案传输控制
17.7.6 SSL/TLS 控制
第十六章 邮件服务器
16.1 电子邮件概论
16.2 具身份认证的 sendmail
16.2.1 安装 Cyrus SASL
16.2.2 安装 Sendmail
16.2.3 Client 端的设定
16.3 POP3 及 IMAP 设定
16.3.1 简单的 POP3 服务器
16.3.2 加密的 POP3 及 IMAP
16.4 进阶邮件服务器设定
16.4.1 设定邮件别名及自动转寄
16.4.2 一舨使用者设定自动转寄及自动回信
16.4.3 限制每封邮件大小上限
16.5 邮件问题处理
16.5.1 邮件结构
16.5.2 限制寄件者来源
16.5.3 处理未寄出之信件
16.5.4 收发信件问题处理
第十七章 邮件服务器进阶应用
17.1 虚拟邮件主机
17.1.1 DNS 设定
17.1.2 对映到同一台机器的真实使用者
17.1.3 可以拥有虚拟使用者
17.2 垃圾信及病毒防护
17.2.1 MailScanner 架构说明
17.2.2 安装 MailScanner
17.2.3 设定 MailScanner
17.2.4 MailScanner 进阶管理
17.3 Open WebMail
17.3.1 系统需求
17.3.2 安装 Open WebMail
第十八章 DHCP服务器
18.1 DHCP 简介
18.2 安装 DHCP 服务器
18.3 客户端 DHCP 设定
18.4 DHCP 及系统管理

第十九章 数据库系统
19.1 概论
19.2 安装 MySQL
19.3 SQL 语法介绍
19.3.1 CREATE
19.3.2 ALTER
19.3.3 DROP
19.3.4 INSERT
19.3.5 SELECT
19.3.6 UPDATE
19.3.7 DELETE
19.4 MySQL 管理
19.4.1 维护密码安全
19.4.2 备份数据库
19.4.3 使用者管理
19.4.4 如何更改使用者密码
19.5 MySQL 图形化管理工具介绍
19.5.1 MySQL Administrator
19.5.2 MySQL Query Browser
19.6 PostgreSQL 安装设定
19.7 PostgreSQL 管理指令
19.7.1 建立及删除使用者
19.7.2 建立及删除数据库
19.7.3 交互式 SQL 指令
19.7.4 数据库备份及回复
19.8 PostgreSQL 图形化管理工具介绍

第二十章 SAMBA 网络芳邻
20.1 网络芳邻简介
20.1.1 SMB 协定简介
20.1.2 Samba 简介
20.2 安装设定 Samba
20.2.1 安装 Samba
20.2.2 基本的设定档说明
20.2.3 启动 Samba
20.3 smb.conf 设定说明
20.3.1 global 区段的基本设定
20.3.2 global 区段的安全性设定
20.3.3 global 区段的效能调校设定
20.3.4 global 区段的记录文件及除错设定
20.3.5 global 区段的网络资源设定
20.3.6 分享权限设定
20.4 使用网页设定 Samba
20.5 Samba 命令列工具介绍
20.5.1 smbpasswd 使用者及密码管理
20.5.2 smbstatus 服务器状态检视
20.5.3 nmblookup 名称查询
20.6 Windows 设定
20.7 存取 MS Windows 的网芳资料

第二十一章 NFS
21.1 概论
21.2 NFS 设定
21.3 NFS 的限制

第二十二章 DNS 服务器
22.1 DNS 概论
22.2 named.conf
22.3 正解档设定
22.4 反解档设定
22.5 最后的设定

第二十三章 指令应用
23.1 基本 UNIX 指令
23.1.1 概论
23.1.2 man
23.1.3 ls
23.1.4 cd
23.1.5 pwd
23.1.6 cat
23.1.7 more
23.1.8 less
23.1.9 head
23.1.10 tail
23.1.11 w
23.1.12 who
23.1.13 date
23.1.14 cal
23.1.15 echo
23.1.16 clear
23.2 系统管理
23.2.1 ps
23.2.2 kill
23.2.3 top
23.2.4 systat
23.2.5 watch
23.2.6 alias
23.2.7 bg
23.2.8 jobs
23.2.9 fg
23.2.10 ntpdate
23.2.11 sync
23.2.12 shutdown
23.2.13 reboot
23.2.14 su
23.2.15 exit
23.2.16 dmesg
23.2.17 lastcomm
23.2.18 crontab
23.2.19 uptime
23.2.20 sysctl
23.3 使用者管理
23.3.1 vipw
23.3.2 groups
23.3.3 adduser
23.3.4 pwd_mkdb
23.3.5 rmuser
23.3.6 passwd
23.3.7 chpass
23.3.8 mesg
23.3.9 write
23.3.10 last
23.4 档案系统管理
23.4.1 touch
23.4.2 cp
23.4.3 ln
23.4.4 mkdir
23.4.5 rm
23.4.6 mv
23.4.7 df
23.4.8 du
23.4.9 chmod
23.4.10 chown
23.4.11 chflags
23.4.12 umask
23.4.13 diff
23.4.14 wc
23.4.15 whereis
23.4.16 which
23.4.17 find
23.4.18 grep
23.4.19 tar
23.4.20 fsck
23.4.21 mount
23.4.22 umount
23.5 网络相关指令
23.5.1 ping
23.5.2 ifconfig
23.5.3 arp
23.5.4 traceroute
23.5.5 netstat
23.5.6 sockstat
23.5.7 mail
23.5.8 telnnet
23.5.9 ssh
23.5.10 ftp
23.5.11 nslookup
23.5.12 dig
23.5.13 tcpdump
第二十四章 Shell Script
24.1 概论
24.2 变量的使用
24.2.1 变量的使用
24.2.2 程序会自动定义的变量
24.2.3 系统内定的标准变量
24.2.4 空变量的处理
24.3 运算符号
24.3.1 四则运算
24.3.2 简单的条件判断
24.3.3 以 test 来比较字符串及数字
24.3.4 以 test 来处理档案
24.4 内建指令
24.5 流程控制
24.5.1 if 的条件判断
24.5.2 while 及 until 循环
24.5.3 for 循环
24.5.4 case 判断
24.6 函式的运用

附录 A /etc 目录下的档案介绍
A.1 aliases:设定邮件收件者别名
A.2 crontab:设定定时执行工作
A.3 csh.cshrc:Tcsh 使用者登入后的 shell 环境设定
A.4 csh.login:Tcsh 使用者登入后的 shell 环境设定
A.5 csh.logout:Tcsh 使用者注销时会执行的设定
A.6 defaults/periodic.conf:预设定时执行项目设定
A.7 defaults/rc.conf:预设的系统设定文件
A.8 fbtab:设定使用者登入时对系统装置的存取权限
A.9 fstab:档案系统的加载设定
A.10 ftpusers:设定哪些使用者不可以使用 FTP 登入
A.11 ftpchroot:设定哪些使用者登入后要限制根目录
A.12 gettytab:终端机模式设定文件
A.13 group:使用者群组设定档
A.14 host.conf:设定 DNS 查询顺序
A.15 hosts:定义常用的机器名称对映
A.16 hosts.allow:设定允许或拒绝联机的主机
A.17 hosts.equiv:设定远程信任主机及使用者
A.18 hosts.lpd:设定可以使用本地列表机的主机
A.19 inetd.conf:各项 inetd 服务设定档
A.20 localtime:记录所在时区设定
A.21 locate.rc:快速搜寻档案的名称数据库设定
A.22 login.access:控制使用者登入权限
A.23 login.conf:控制使用者可以使用的系统资源
A.24 mail.rc:设定 mail 指令参数
A.25 make.conf:设定 make 的参数
A.26 manpath.config:设定 man 文件所在位置
A.27 master.passwd:使用者密码文件
A.28 motd:使用者登入后讯息
A.29 namedb/:DNS 服务器设定档
A.30 netstart:启动网络服务的程序
A.31 networks:设定本地网络信息
A.32 newsyslog.conf:设定定期压缩备份文件
A.33 nsmb.conf:设定 smbfs 信息
A.34 nsswitch.conf:设定 nsswich 信息
A.35 opiekeys:OPIE 设定档
A.36 pam.d:PAM 设定档
A.37 passwd:不含密码的使用者信息文件
A.38 pccard_ether:启用及停用 PCCARD 网络设备
A.39 periodic/daily:包含每天会定时执行的工作
A.40 periodic/weekly:包含每周会定时执行的工作
A.41 periodic/monthly:包含每月会定时执行的工作
A.42 periodic/security:包含每天会执行的安全检查工作
A.43 phones:远程主机电话数据库
A.44 ppp/:PPP 相关设定档
A.45 printcap:列表机设定档
A.46 profile:Shell 设定档
A.47 rc:开机时会执行的档案
A.48 rc.d:所有开机时可能执行的服务
A.49 rc.firewall:防火墙设定档
A.50 rc.local:使用者自行设定开机要执行的工作
A.51 rc.*:其它开机时的相关执行档
A.52 resolv.conf:DNS 主机及网域设定
A.53 services:定义网络服务的端口号
A.54 shells:定义合法的 shell
A.55 ssh:SSH 相关设定及金钥
A.56 sysctl.conf:开机时会执行的 sysctl 内容
A.57 syslog.conf:定义系统记录文件位置及规则
A.58 ttys:各种终端机权限设定
附录B 制作 FreeBSD 安装光盘
B.1 烧录 RELEASE 版安装光盘
B.2 烧录 STABLE 版安装光盘
附录C 版权宣告
C.1 The FreeBSD Copyright
C.2 The 4.4 BSD Copyright
C.3 GNU GENERAL PUBLIC LICENSE
C.4 GNU LIBRARY GENERAL PUBLIC LICENSE