编辑推荐 《Ubuntu Linux系统管理实战》全面介绍了Linux的基础知识、Ubuntu 17的安装方法、桌面环境、文件系统、文件管理、用户管理、服务管理、文件系统管理以及网络管理等技术。在介绍每部分内容时,都给出了大量具体的实例,使得读者能够深入了解、快速掌握相关系统操作。掌握本书所有内容,读者能够初步胜任Linux的日常管理和维护工作。 内容简介 Linux是目前使用*为广泛的操作系统,而Ubuntu是众多Linux发行版中的佼佼者。本书由浅入深、循序渐进,使零基础的读者也能够熟练掌握如何管理和维护Ubuntu系统。《Ubuntu Linux系统管理实战》分为三部分,*部分是Ubuntu入门,包括Linux基础知识、Ubuntu 17的安装和配置、桌面环境、文件系统基础知识、文件和目录管理以及用户和权限管理等。第二部分是进阶篇,包括Ubuntu系统的启动和关闭、服务和进程管理、软件包管理、磁盘和文件系统管理以及网络管理等。第三部分是精通Linux,包括Shell编程、网络服务管理以及虚拟化和云计算等。《Ubuntu Linux系统管理实战》内容精练、重点突出、实例丰富,是广大Linux维护和开发人员、网络管理维护人员必备的参考书,同时非常适合大中专院校师生学习阅读,也可作为高等院校计算机及相关专业当教材使用。 作者简介 张春晓,计算机软件与理论硕士,长期从事UNIX及Linux系统维护达15年之久,对Shell编程有深入的研究。作者热衷于UNIX的严谨与简洁,又痴迷于Linux的自由与开放,整日与UNIX及Linux为伴,从中获益匪浅。 目录
目 录 第一篇 Ubuntu入门 第1章 了解Ubuntu 3 1.1 什么是Linux 3 1.2Linux发行版 5 1.2.1Debian 6 1.2.2Ubuntu 6 1.2.3Arch Linux 7 1.2.4Fedora 8 1.2.5OpenSUSE 8 1.2.6CentOS 9 1.2.7Red Hat Enterprise Linux 10 1.3Ubuntu概述 10 1.3.1什么是Ubuntu 10 1.3.2Ubuntu的版本 11 1.3.3Ubuntu的特点 12 1.3.4如何获得Ubuntu 13 1.4GNU GPL和POSIX介绍 14 1.4.1什么是GNU GPL 14 1.4.2GNU GPL发展历史 14 1.4.3如何正确理解GNU GPL 15 1.4.4了解POSIX标准 15 1.5 学习Ubuntu的方法 15 第2章 安装Ubuntu 17 2.1 准备安装Ubuntu 17 2.1.1获得安装介质 17 2.1.2Ubuntu的硬件要求 19 2.1.3Ubuntu的安装方式 20 2.2 虚拟机软件 20 2.2.1常见虚拟机软件 20 2.2.2选择虚拟机软件 21 2.2.3安装Oracle VM VirtualBox 21 2.3 安装Ubuntu的方式 26 2.3.1下载ISO镜像文件 26 2.3.2创建虚拟机 26 2.3.3安装Ubuntu过程 29 2.4 通过网络安装Ubuntu 35 2.4.1下载网络安装器 35 2.4.2通过网络安装Ubuntu步骤 35 2.5 将Ubuntu安装到U盘中 41 2.5.1Rufus工具 42 2.5.2制作LiveUSB Ubuntu系统 42 2.6 安装过程中的常见问题 44 2.6.1选择32位还是64位的Ubuntu 44 2.6.2应该选择哪种语言 45 2.6.3Ubuntu中的磁盘分区与Windows中的磁盘分区 45 第3章 桌面环境 46 3.1 常见的桌面环境 46 3.1.1KDE 46 3.1.2GNOME 48 3.1.3Xfce 50 3.1.4Unity 51 3.2 使用Unity 52 3.2.1菜单栏 52 3.2.2启动器 54 3.2.3Dash 55 3.2.4工作区 56 3.2.5管理窗口 58 3.2.6文件管理器 59 3.2.7搜索文件和文件夹 61 3.2.8定制桌面 63 3.3 使用GNOME 65 3.3.1桌面布局 65 3.3.2活动按钮 66 3.3.3工作区 66 3.3.4浮动面板 67 3.3.5显示应用程序 68 3.3.6锁定、关闭或者重启电脑 69 第4章 文件系统基础知识 70 4.1 文件系统的层次结构 70 4.1.1树形层次结构 70 4.1.2路径名 72 4.1.3Linux目录结构 74 4.2 文件类型 75 4.2.1普通文件 75 4.2.2目录文件 78 4.2.3字符设备文件 79 4.2.4块设备文件 80 4.2.5管道 81 4.2.6套接字 84 4.2.7文件链接 84 4.3 文件权限 87 4.3.1文件权限概述 88 4.3.2显示文件权限 89 4.3.3修改文件权限 91 4.3.4更改文件所有权 94 4.3.5文件特殊权限 95 第5章 文件和目录管理 98 5.1 创建文件 98 5.1.1使用touch命令创建文件 99 5.1.2使用重定向创建文件 99 5.1.3使用vi命令创建文件 101 5.2 显示文件列表 103 5.2.1使用ls命令显示文件列表 103 5.2.2显示隐藏文件 106 5.2.3递归显示目录内容 107 5.3 显示文件内容 108 5.3.1拼接文件内容:cat命令 108 5.3.2分屏显示:more命令 111 5.3.3前后翻页分屏显示:less命令 113 5.3.4查看前几行内容:head命令 113 5.3.5查看最后几行内容:tail命令 114 5.4 文件的常用操作 116 5.4.1复制文件 116 5.4.2移动文件 118 5.4.3删除文件 119 5.4.4比较文件 120 5.4.5重命名文件 122 5.5 搜索文件 122 5.5.1快速搜索文件:locate命令 122 5.5.2按类型搜索:whereis命令 125 5.5.3搜索二进制文件:which命令 125 5.5.4全功能搜索:find命令 126 5.6 文本内容筛选 127 5.6.1使用grep命令检索文本内容 128 5.6.2筛选其他命令的输出结果 129 5.6.3在grep命令中使用正则表达式 130 5.7 文本排序 132 5.7.1使用sort命令文本排序 133 5.7.2合并有序文件 134 5.8 文件的压缩和解压 135 5.8.1压缩文件 135 5.8.2解压文件 138 5.9 目录管理 139 5.9.1显示当前工作目录 139 5.9.2改变目录 139 5.9.3创建目录 140 5.9.4移动目录 141 5.9.5复制目录 141 5.9.6删除目录 141 第6章 用户和权限管理 142 6.1 用户和用户组基础 142 6.1.1用户和用户标识号 142 6.1.2用户组和组标识号 143 6.1.3/etc/passwd文件 144 6.1.4/etc/shadow文件 145 6.1.5/etc/group文件 146 6.2 用户管理 147 6.2.1添加用户:useradd命令 147 6.2.2添加用户:adduser命令 148 6.2.3修改用户:usermod命令 150 6.2.4删除用户:userdel命令 151 6.2.5修改用户密码:passwd命令 152 6.2.6显示用户信息:id命令 153 6.2.7用户间切换:su命令 154 6.2.8受限的特权:sudo命令 154 6.3 用户组管理 157 6.3.1添加用户组:groupadd命令 157 6.3.2添加用户组:addgroup命令 157 6.3.3修改用户组:groupmod命令 157 6.3.4删除用户组:groupdel命令 158 6.4 权限管理 158 6.4.1权限概述 158 6.4.2改变文件所有者:chown命令 160 6.4.3改变文件所属组:chgrp命令 161 6.4.4设置权限掩码:umask命令 162 6.4.5修改文件访问权限:chmod命令 163 6.4.6修改文件ACL:setfacl命令 165 6.4.7查询文件ACL:getfacl命令 166 第二篇 进阶篇 第7章 系统启动和关闭 169 7.1Ubuntu启动过程 169 7.1.1BIOS阶段 169 7.1.2引导程序阶段 170 7.1.3内核阶段 173 7.1.4进入系统 174 7.2 引导相关组件 174 7.2.1主引导记录 174 7.2.2GRUB启动程序 175 7.3 登录 181 7.3.1login进程 181 7.3.2选择Shell 183 7.3.3用户初始化文件 185 7.4 关闭系统 187 7.4.1shutdown命令 187 7.4.2init命令 188 7.4.3其他命令 188 第8章 服务和进程管理 189 8.1 初始化程序概述 189 8.1.1初始化程序 190 8.1.2systemd 196 8.1.3systemd基本配置文件 197 8.2systemd单元 198 8.2.1单元类型 198 8.2.2列出单元 200 8.2.3查看单元状态 203 8.2.4单元依赖 205 8.2.5单元配置文件 207 8.3systemd单元管理 209 8.3.1启动服务 210 8.3.2停止服务 210 8.3.3重启服务 210 8.3.4重新加载服务配置文件 211 8.3.5查看服务状态 211 8.3.6配置服务自动启动 212 8.3.7禁止服务自动启动 213 8.3.8重新加载单元配置文件 214 8.3.9显示服务属性 214 8.3.10设置服务属性 216 8.4 常用systemd命令 216 8.4.1systemd-analyze命令分析系统启动时的性能 216 8.4.2hostnamectl命令 219 8.4.3localectl命令 220 8.4.4timedatectl命令 220 8.4.5loginctl命令 221 8.5 目标 222 8.5.1理解目标 222 8.5.2切换目标 225 8.5.3默认目标 226 8.6 日志管理 226 8.6.1读取日志 226 8.6.2过滤输出 227 8.6.3日志大小限制 229 8.6.4手动清理日志 230 8.7 进程管理 231 8.7.1查询进程及其状态 231 8.7.2监控进程及系统资源 233 8.7.3终止进程 238 8.7.4调整进程优先级 239 第9章 软件包管理 241 9.1 软件包管理概述 241 9.1.1软件包管理基本概念 241 9.1.2软件包管理工具 243 9.2apt-get命令 245 9.2.1搜索软件包 245 9.2.2apt-get命令基本语法 247 9.2.3安装软件包 248 9.2.4重新安装软件包 249 9.2.5删除软件包 250 9.2.6更新和升级软件包 251 9.3apt命令 253 9.3.1apt命令基本语法 253 9.3.2搜索软件包 253 9.3.3安装软件包 254 9.3.4删除软件包 254 9.3.5更新和升级软件包 255 9.4 aptitude命令 255 9.4.1aptitude命令基本语法 255 9.4.2搜索软件包 257 9.4.3安装软件包 259 9.4.4删除软件包 259 9.4.5更新和升级软件包 260 9.4.6图形化界面 260 9.5synaptic软件管理工具 261 9.5.1安装软件包 261 9.5.2删除软件包 264 9.5.3更新和升级软件包 265 第10章 磁盘和文件系统管理 266 10.1磁盘管理基础 266 10.1.1磁头 266 10.1.2磁道 267 10.1.3柱面 267 10.1.4扇区 267 10.1.5磁盘分区 268 10.2文件系统基础知识 268 10.2.1常见文件系统 269 10.2.2块 271 10.2.3引导块 272 10.2.4超级块 272 10.2.5索引节点 272 10.3创建文件系统 273 10.3.1创建分区 273 10.3.2mkfs命令 278 10.3.3创建ext2/ext3/ext4文件系统 281 10.3.4创建NTFS文件系统 282 10.3.5创建FAT文件系统 282 10.3.6调整文件系统 284 10.4挂载与卸载文件系统 285 10.4.1挂载点 285 10.4.2mount和findmnt命令 286 10.4.3/etc/fstab文件 289 10.4.4手工挂载文件系统 290 10.4.5自动挂载文件系统 291 10.4.6卸载文件系统 291 10.5检查与修复文件系统 292 10.5.1fsck和e2fsck命令 293 10.5.2交互式检查与修复文件系统 294 10.5.3自动检查与修复文件系统 294 10.5.4恢复严重受损的超级块 295 10.6磁盘阵列 296 10.6.1磁盘阵列概述 296 10.6.2磁盘阵列级别 296 10.6.3创建磁盘阵列 299 10.7逻辑卷管理 305 10.7.1逻辑卷管理基本概念 305 10.7.2安装LVM 306 10.7.3创建物理卷 306 10.7.4创建卷组 309 10.7.5创建逻辑卷 310 10.7.6扩展逻辑卷 311 10.7.7压缩逻辑卷 312 第11章 网络管理 314 11.1网络接口 314 11.1.1查看网络接口 314 11.1.2网络接口命名 319 11.1.3配置网络接口IP地址 319 11.1.4域名解析 323 11.2常用网络配置命令 324 11.2.1ifconfig命令 324 11.2.2ip命令 326 11.2.3route命令 333 11.2.4netstat命令 335 11.2.5nslookup命令 338 11.2.6ping命令 339 11.3防火墙 340 11.3.1ufw简介 340 11.3.2ufw配置 340 11.3.3ufw与应用系统的整合 342 11.3.4ufw日志管理 344 第三篇 精通Linux 第12章 Shell编程 347 12.1Shell编程基础 347 12.1.1Shell 347 12.1.2Shell脚本 348 12.1.3Shell脚本的执行方法 349 12.1.4位置参数 350 12.1.5内部命令 351 12.2变量 353 12.2.1变量分类 353 12.2.2变量声明 354 12.2.3变量赋值 355 12.2.4变量的引用和替换 355 12.2.5变量的间接引用 356 12.2.6特殊变量替换 357 12.2.7单引号和双引号 358 12.2.8命令替换 359 12.3算术运算 359 12.3.1let命令 360 12.3.2expr命令 360 12.3.3$(())表达式 361 12.3.4$[]表达式 361 12.4数组 361 12.4.1定义数组 362 12.4.2获取数组长度 363 12.4.3遍历数组 363 12.4.4删除元素 365 12.4.5数组切片 365 12.4.6数组替换 366 12.5条件测试 366 12.5.1条件测试语法 367 12.5.2文件测试 367 12.5.3字符串测试 370 12.5.4整数值测试 371 12.5.5逻辑运算符 372 12.6条件语句 372 12.6.1if语句 373 12.6.2case语句 375 12.7循环语句 377 12.7.1for语句 377 12.7.2while语句 379 12.7.3until语句 381 12.7.4select语句 382 12.7.5嵌套循环 384 12.7.6continue和break语句 384 12.8信号的捕获与处理 387 12.8.1信号 387 12.8.2捕获信号 388 第13章 网络服务管理 391 13.1SSH服务 391 13.1.1SSH协议 391 13.1.2配置SSH服务 392 13.1.3管理SSH服务 395 13.1.4使用账号密码登录SSH服务 396 13.1.5使用密钥对登录SSH服务 397 13.2FTP文件传输服务 402 13.2.1FTP文件传输协议 402 13.2.2安装vsftpd 402 13.2.3vsftpd配置文件 403 13.2.4管理FTP用户:匿名用户、本地用户、虚拟用户 406 13.2.5演示:使用FTP传输文件 411 13.3DNS域名服务 416 13.3.1域名、IP地址、域名服务器 417 13.3.2BIND以及组件 418 13.3.3BIND配置文件 418 13.3.4配置区域 424 13.3.5资源记录 425 13.3.6演示:DNS服务器配置实例 427 13.4NFS服务 430 13.4.1安装NFS服务 431 13.4.2共享文件系统 431 13.4.3挂载NFS文件系统 433 13.4.4NFS文件系统权限 434 13.5其他网络服务管理 437 13.5.1Samba资源共享 437 13.5.2Apache万维网服务 441 13.5.3MySQL数据库服务 444 第14章 虚拟化和云计算 447 14.1虚拟化基础知识 447 14.1.1虚拟化技术 447 14.1.2常用虚拟化方案 447 14.2KVM 448 14.2.1KVM及其相关组件 448 14.2.2安装KVM 448 14.2.3创建虚拟机 449 14.2.4管理虚拟机 451 14.3Docker 452 14.3.1Docker以及基础知识 452 14.3.2安装Docker 453 14.3.3使用镜像 454 14.3.4管理容器 456 14.3.5使用网络:外部访问容器 459 14.3.6使用网络:容器互联 461 14.4LXC和LXD 461 14.4.1LXC和LXD简介 462 14.4.2安装LXD 462 14.4.3创建容器 463 14.4.4列出容器 464 14.4.5查看容器 466 14.4.6管理容器 466 14.4.7与容器交互 467 14.4.8管理镜像 469 14.5OpenStack 471 14.5.1OpenStack的核心组件 471 14.5.2通过DevStack部署OpenStack 473 14.5.3仪表盘 474 14.5.4实例管理 478 14.5.5镜像管理 486 14.5.6卷管理 488 14.5.7网络管理:网络拓扑 489 14.5.8网络管理:网络的修改和删除 490 14.5.9网络管理:路由 494 14.5.10网络管理:安全组 496 第15章 系统和网络安全 499 15.1用户管理安全 499 15.1.1管理好root用户 499 15.1.2用户资料安全 500 15.1.3密码策略 501 15.2防火墙 503 15.2.1ufw 503 15.2.2IP伪装 504 15.2.3日志 504 15.3AppArmor 505 15.3.1安装AppArmor 505 15.3.2使用AppArmor 505 15.3.3AppArmor配置文件 507 15.4数字证书 509 15.4.1获取数字证书 509 15.4.2生成密钥 509 15.4.3生成证书签署请求 510 15.4.4安装证书 511 15.5弱点扫描 511 15.5.1安装OpenVAS 512 15.5.2OpenVAS仪表盘 514 15.5.3扫描任务管理 514 15.5.4扫描报表 516 15.6入侵检测 518 15.6.1安装Snort 518 15.6.2Snort配置文件 519 15.6.3Snort检测规则 519 15.6.4测试Snort 521
|