💻操作系统基础
00 分钟
2024-10-4
2024-10-4
type
status
date
slug
summary
tags
icon
password
category

一、Linux系统入门

1. Linux系统概述

  • Linux特点:免费、开源、多用户、多任务、支持多线程和多CPU。常用于嵌入式设备、超级计算机、家庭、企业和政府。
  • 使用案例:如巴西、俄罗斯、印度、中国、葡萄牙、西班牙等政府部门广泛采用Linux。

2. Linux与Windows的比较

  • 界面:Windows界面统一,Linux界面因发行版不同而不同。
  • 驱动:Windows驱动丰富但依赖厂商,Linux驱动由社区开发,部分硬件厂商支持开源驱动。
  • 使用:Windows易上手,Linux需掌握命令行。
  • 学习:Windows构造复杂,更新频繁;Linux系统稳定,知识传承性好,学习相对容易。

3. 常见的Linux发行版

  • RHEL (Red Hat Enterprise Linux):企业级Linux系统,广泛应用于航空、银行、电信等行业,稳定性强。
  • CentOS:基于RHEL的开源免费版本,与RHEL软件包兼容,适合运维。
  • Fedora:红帽公司研发的桌面版Linux系统,作为RHEL的“试验田”,每6个月发布新版本。
  • Debian:历史悠久,稳定安全,免费支持,适用于多种硬件架构。
  • Ubuntu:基于Debian开发,发布周期为6个月,用户数量高,提供桌面版和服务器版。

4. Linux系统构成

  • 内核:由Linus Torvalds开发并维护,1991年发布,标志为企鹅Tux。
  • 主要应用:网络服务器、企业内部服务器、软件开发环境、桌面环境。

5. Linux目录结构

  • 根目录 /:树型结构,包括常见的子目录如 /root/bin/etc/home/usr/lib 等。

6. 开源精神与Linux

  • 优势:低风险、低成本、高品质、更透明。
  • 开源许可
    • GNU GPL:要求开源、免费,适用于大多数Linux软件。
    • BSD:允许商业发布。
    • Apache:支持商业软件,提供专利许可。
    • MIT:限制最少,商业软件常用。

7. Linux发展史

  • 1984年:GNU计划启动。
  • 1991年:Linus Torvalds开发Linux内核。
  • 1994年:Red Hat发布红帽系统。
  • 2021年:Linux内核版本已发展到5.10。

8. CentOS系统安装

  • 需要虚拟机软件(如VMware)和Linux操作系统(如CentOS 7)。

9. VMware Tools安装

  • 通过命令行解压并安装VMware Tools,以实现虚拟机与主机间的文件传输功能。
 

二、必须掌握的Linux命令

1. Shell的作用

  • 系统内核与硬件:内核管理硬件,用户不能直接操作硬件,需要通过系统调用接口。
  • Shell:充当用户与内核间的翻译官,通过终端输入命令,调用服务程序完成工作。Bash是常见的Shell解释器,支持自动补全、环境变量和批处理脚本。

2. 执行命令的必备知识

  • 命令格式命令名称 [命令参数] [命令对象]。如创建用户、查看文件。
  • 参数的作用:调整命令行为,如man --help显示帮助信息。
  • 快捷键Tab补全,Ctrl+C终止进程,Ctrl+D结束输入,Ctrl+L清屏。

3. 常用系统工作命令

  • echo:输出字符串或变量的值。
  • date:显示/设置系统时间,date +%Y-%m-%d显示当前日期。
  • reboot:重启系统。
  • timedatectl:设置系统时间。

4. 系统状态检测命令

  • ifconfig:显示网络配置和状态。
  • uname:查看系统内核版本和架构,uname -a
  • uptime:查看系统负载信息。
  • free:显示内存使用情况。
  • ping:测试主机网络连通性。
  • netstat:显示网络连接和接口状态。
  • history:查看历史命令。

5. 查找定位文件命令

  • pwd:显示当前工作目录。
  • cd:切换工作目录。
  • ls:列出目录内容,ls -a显示所有文件。
  • find:按条件查找文件,如find / -name "filename"
  • locate:按名称快速查找文件。
  • which:查找命令的位置。
  • tree:以树状结构显示目录内容。

6. 文本文件编辑命令

  • cat:查看短文本文件,cat -n显示行号。
  • more:查看长文本文件。
  • head:查看文件前N行。
  • tail:查看文件后N行,tail -f持续刷新内容。
  • grep:按行提取文本内容,grep -i "keyword"忽略大小写搜索。
  • diff:比较文件差异。
  • wc:统计行数、单词数和字节数。

7. 文件目录管理命令

  • touch:创建空白文件或修改时间。
  • mkdir:创建目录,mkdir -p创建嵌套目录。
  • cp:复制文件或目录,cp -r复制目录。
  • mv:剪切或重命名文件。
  • rm:删除文件或目录,rm -rf强制删除。
  • tar:压缩/解压文件,tar -czvf打包,tar -xzvf解压。

8. 复习题要点

  • 常用Shell:Bash解释器。
  • 命令参数:使命令适应具体需求。
  • 删除文件:使用rm -f避免确认提示。
  • 查看长文件内容:使用more命令。
  • 解压缩文件:使用tar -xzvf backup.tar.gz
 
 

三、管道符、重定向与环境变量

1. 输入输出重定向

标准输出重定向

  • 定义:将命令的输出重定向到文件中,而不是输出到屏幕。
  • 用法
    • >:将标准输出重定向到文件(覆盖原有内容)。
    • 例如:echo "Hello World" > output.txt效果:将 "Hello World" 写入到 output.txt 文件中,若文件已存在,内容将被覆盖。

标准输入重定向

  • 定义:将文件内容作为命令的输入,而不是从键盘输入。
  • 用法
    • <:将文件作为命令的输入。
    • 例如:sort < input.txt效果:将 input.txt 文件中的内容传递给 sort 命令进行排序。

错误输出重定向

  • 定义:将命令的错误信息重定向到文件,而不是输出到屏幕。
  • 用法
    • 2>:将错误输出重定向到文件(覆盖原有内容)。
    • 例如:command 2> error.log效果:如果 command 执行出错,错误信息将被写入 error.log 文件。

追加输出重定向

  • 定义:将命令的输出追加到文件末尾,而不是覆盖原有内容。
  • 用法
    • >>:追加标准输出到文件。
    • 例如:echo "Another Line" >> output.txt效果:在 output.txt 文件末尾添加 "Another Line"。

同时重定向标准输出和错误输出

  • 用法
    • &>2>&1:将标准输出和错误输出同时重定向到一个文件。
    • 例如:command &> combined.log效果:将 command 的标准输出和错误信息都写入 combined.log 文件。

2. 管道符命令

定义:将一个命令的输出作为下一个命令的输入。

  • 用法
    • |:管道符连接两个命令,将前一个命令的输出作为后一个命令的输入。
    • 例如:cat file.txt | grep "keyword"效果cat 命令读取 file.txt 内容,输出给 grep 命令,grep 只输出包含 "keyword" 的行。

多重管道使用

  • 用法
    • 可以在一个命令链中使用多个管道符。
    • 例如:ps aux | grep "process_name" | wc -l效果:列出所有进程,并过滤包含 process_name 的进程,最后统计进程数量。

类比

  • 管道符类似流水线作业:第一个命令生成原料,第二个命令加工,第三个命令输出成品。
  • 例如:cat data.txt | tr 'a-z' 'A-Z' | sort | uniq效果cat 命令读取 data.txttr 命令将所有字母转换为大写,sort 命令对内容排序,uniq 命令去除重复行。

3. 命令行的通配符

定义:通配符用于匹配文件名或字符,简化命令输入。

  • 常用通配符
    • :匹配零个或多个字符。
    • ?:匹配一个任意字符。
    • [a-z]:匹配特定范围的字符。
  • 用法
    • 例如:ls *.txt效果:列出当前目录下所有以 .txt 结尾的文件。
    • 例如:rm file?.txt效果:删除文件名中第二个字符可以为任意字符的 .txt 文件(如 file1.txt, fileA.txt 等)。

组合通配符使用

  • 用法
    • 例如:ls [A-Z]*.log效果:列出所有以大写字母开头且以 .log 结尾的文件。

4. 常用转义字符

定义:转义字符用于处理特殊字符或保持字符串的原始含义。

  • 常用转义字符
    • \:将特殊字符转义为普通字符。
    • ' ':将字符串中的所有字符视为普通文本。
    • " ":保留字符串中的变量和特殊符号。
    • ` `:执行括号中的命令并返回结果。
  • 用法
    • 例如:echo \$PATH效果:输出 $PATH 字符串,而不是环境变量的值。
    • 例如:echo "Your home directory is $HOME"效果:输出字符串并解析 $HOME 环境变量。
    • 例如:files=$(ls)效果:将 ls 命令的输出结果存入变量 files

5. 环境变量

定义:环境变量存储与系统运行相关的配置,如路径、用户名等。

  • 常用环境变量
    • $PATH:存储可执行文件的目录路径。
    • $HOME:当前用户的主目录。
    • $USER:当前登录的用户名。
  • 用法
    • 例如:echo $PATH效果:输出系统中包含可执行命令的所有路径。
    • 例如:export PATH=$PATH:/custom/path效果:将 /custom/path 添加到 $PATH 中,使得该目录下的可执行文件也可以直接运行。

自定义环境变量

  • 用法
    • 例如:export MY_VAR="Hello World"效果:定义一个名为 MY_VAR 的环境变量,并赋值为 "Hello World"。
    • 例如:echo $MY_VAR效果:输出变量 MY_VAR 的值。

6. 复习题要点

  • 重定向命令ls >> output.txtls 命令的输出追加到 output.txt 文件中。
  • 管道符的作用命令A | 命令B命令A 的输出成为 命令B 的输入。
  • 通配符使用 可匹配零个或多个字符,例如 ls *.txt 匹配所有 .txt 文件。
  • 转义字符作用" 双引号避免命令中带有空格的参数被误解析。
 
 

四、Vim编辑器

1. Vim文本编辑器概述

  • 定义:Vim是Vi编辑器的增强版,支持代码高亮、自动修正等功能。Vim是Linux系统中默认安装的文本编辑器,适用于编写和修改文本文件以及配置文件。
  • 发布:Vim发布于1991年,全称为“Vi Improved”。

2. Vim的三种模式

  • 输入模式(Insert Mode):正常输入文本。
  • 命令模式(Command Mode):控制光标移动,执行复制、粘贴、删除、查找等操作。
  • 末行模式(Last Line Mode):执行保存、退出、查找替换等命令。
  • 模式切换:在Vim中,按 Esc 键可以从输入模式切换到命令模式,输入 : 可以进入末行模式。例如,在命令模式下按 i 键进入输入模式。

3. 命令模式常用命令

  • 删除行dd 删除当前行,5dd 删除从当前行开始的5行。
  • 复制行yy 复制当前行,5yy 复制从当前行开始的5行。
  • 粘贴p 将之前删除或复制的内容粘贴到光标之后。
  • 撤销u 撤销上一步操作。
  • 查找:使用 /关键词 可以从上至下查找,?关键词 可以从下至上查找。

4. 末行模式常用命令

  • 保存:w 保存当前文档。
  • 退出:q 退出Vim,:q! 强制退出(不保存)。
  • 保存并退出:wq:wq!(强制保存)。
  • 显示/隐藏行号:set nu 显示行号,:set nonu 取消显示行号。
  • 跳转到特定行:数字 跳转到指定行号。
  • 替换文本
    • :s/one/two/ 替换当前行的第一个 onetwo
    • :%s/one/two/g 替换全文中的所有 onetwo

5. Vim编辑器使用实例

  • 编写文档
      1. 进入Vim编辑器:vim filename
      1. 切换到输入模式:按 i 开始输入内容。
      1. 保存并退出:按 Esc,再输入 :wq
  • 修改配置文件
      1. 例如修改主机名称:vim /etc/hostname,编辑后使用 :wq! 保存并退出。
      1. 修改网卡配置:vim /etc/sysconfig/network-scripts/ifcfg-ens160,配置完成后保存退出。

6. Vim中的配置文件修改步骤

  • 配置主机名称
      1. 进入 vim /etc/hostname
      1. 修改主机名称后,保存并退出。
      1. 使用 hostname 命令检查修改是否成功。
  • 配置网卡信息
      1. 进入 vim /etc/sysconfig/network-scripts/ifcfg-ens160,修改网卡参数(如 IP 地址、网关、DNS 等)。
      1. 保存并退出,重启网络服务后测试连接。
  • 配置软件仓库
      1. 创建 .repo 文件:vim /etc/yum.repos.d/rhel8.repo
      1. 配置仓库参数并保存。
      1. 检查仓库可用性:dnf install httpd -y

7. 计划任务服务(crond和at命令)

  • 一次性任务:使用 at 命令执行一次性任务,如 at 23:30 设置在晚上11:30重启服务。
    • 查看任务:at -l;删除任务:atrm 任务编号
  • 长期性任务:使用 crontab 创建周期性任务,如每周一凌晨3:25备份文件。
    • 语法分 时 日 月 周 命令
    • 例如:25 3 * * 1 tar -czf /backup/backup.tar.gz /home/wwwroot/

8. 复习题要点

  • Vim的三种模式:命令模式、输入模式和末行模式。
  • 模式切换:按 Esc 进入命令模式,输入 : 进入末行模式。
  • 计划任务命令:长期计划任务使用 crond,格式为 分 时 日 月 周 命令
 
 
 

五、用户身份与文件权限

1. 用户身份与能力

  • Linux多用户系统:不同用户有不同权限。系统管理员(UID=0)为 root,权限最高。
  • 用户分类
    • 管理员(UID=0):最高权限用户,即root
    • 系统用户(UID 1-999):用于运行系统服务,限制权限,防止提权攻击。
    • 普通用户(UID 1000起):管理员创建用于日常操作的用户。
  • 用户组
    • 基本用户组:每个用户默认有一个同名的基本用户组。
    • 扩展用户组:用户可以加入多个扩展用户组,继承额外权限。

2. 用户管理命令

  • useradd:创建新用户。示例:useradd -d /home/user -s /bin/bash username效果:为用户 username 创建主目录 /home/user 并使用 /bin/bash 作为默认Shell。
  • usermod:修改用户属性。示例:usermod -g newgroup username效果:将 username 的主组修改为 newgroup
  • userdel:删除用户。示例:userdel -r username效果:删除用户 username 及其家目录。
  • passwd:修改用户密码。示例:passwd username效果:设置用户 username 的新密码。

3. 文件权限与归属

  • 权限类型
    • r(读):查看文件内容或列出目录。
    • w(写):修改文件内容或在目录中创建/删除文件。
    • x(执行):执行文件或进入目录。
  • 权限表示法
    • 字符表示:例如 rwxr-xr--
    • 数字表示r=4w=2x=1,例如 rwxr-xr-- 对应 755
  • 权限分配
    • 文件所有者所属组其他用户分别具有不同权限。
示例
  • chmod 755 file.txt:文件所有者有读、写、执行权限,组用户和其他用户有读、执行权限。
  • ls -l file.txt:查看权限显示如 rwxr-xr--

4. 特殊权限(SUID、SGID、SBIT)

  • SUID(Set User ID):使执行该文件的用户临时拥有文件所有者的权限。示例:chmod u+s filechmod 4755 file效果:当用户执行该文件时,临时获得文件所有者的权限。通常用于二进制可执行文件。
  • SGID(Set Group ID):使执行该文件的用户临时获得文件所属组的权限;或在目录中,新创建的文件继承目录的组。示例:chmod g+s filechmod 2755 file效果:文件或目录内新建文件继承原有组。
  • SBIT(Sticky Bit):用于目录中,确保只有文件所有者可以删除文件。示例:chmod o+t directorychmod 1755 directory效果:用户只能删除自己在目录中创建的文件。
SUID、SGID、SBIT 大写表示
  • 当文件缺少执行权限,但已设置特殊权限时,权限位会显示大写的 ST。例如:
    • rwsr-xr-x:SUID权限,文件所有者有执行权限。
    • r-Sr-xr-x:SUID权限,但文件所有者无执行权限。
    • rwxr-Sr-x:SGID权限,但组用户无执行权限。
    • rwxr-xr-t:SBIT权限,其他用户只能删除自己文件。

5. 特殊权限的数字表示法

  • 特殊权限位
    • SUID:4
    • SGID:2
    • SBIT:1
  • 结合普通权限表示法格式:特殊权限位 + 所有者权限 + 组权限 + 其他用户权限。
    • 示例:chmod 4755 file 表示文件具有 SUID 权限,权限为 rwsr-xr-x
    • 示例:chmod 2755 file 表示文件具有 SGID 权限,权限为 rwxr-sr-x
例子
  • chmod 4755 /usr/bin/passwd:设置 SUID 权限,允许普通用户运行 passwd 程序时临时获得 root 权限。
  • chmod 2750 /data:设置 SGID 权限,新建文件继承组。

6. 文件的隐藏属性

  • chattr:修改文件的隐藏属性。示例:chattr +i file.txt 设置文件为不可修改。
  • lsattr:查看文件的隐藏属性。示例:lsattr file.txt
常用隐藏属性
  • +i:文件不可修改、删除。
  • +a:只能追加内容,不能删除或修改现有内容。

7. 文件访问控制列表(ACL)

  • setfacl:为单个文件或目录设置更精细的权限。示例:setfacl -m u:username:r-- file.txt 赋予 usernamefile.txt 的只读权限。
  • getfacl:查看文件的ACL权限。示例:getfacl file.txt
例子
  • setfacl -m g:developers:rw /project:为 developers 组赋予 /project 目录的读写权限。
  • setfacl -b file.txt:删除 file.txt 的所有ACL规则。

8. su命令与sudo服务

  • su:切换用户身份,默认切换为 root 用户。示例:su - user 切换为 user 用户。
  • sudo:以管理员权限执行命令。示例:sudo command/etc/sudoers 文件用于配置允许使用 sudo 的用户及命令。
    • 示例:添加 user ALL=(ALL) ALL 允许 user 执行所有命令。
 
 
 

第6章 存储结构与管理硬盘

1. 文件存储结构

  • Linux文件系统起点:所有文件从根目录 / 开始。没有Windows的C、D、E盘符,所有目录结构像倒树状。
  • 常见目录与作用
    • /boot: 启动文件
    • /dev: 存放设备文件
    • /etc: 配置文件
    • /home: 用户主目录
    • /lib: 函数库
    • /var: 存放变化的文件(如日志)
    • /tmp: 临时目录

2. 物理设备命名规则

  • 设备命名
    • IDE设备:/dev/hd[a-d]
    • SCSI/SATA设备:/dev/sd[a-z]
  • 分区编号
    • 主分区/扩展分区:编号1到4
    • 逻辑分区:编号从5开始
  • 分区示例
    • /dev/sda:第一个硬盘
    • /dev/sda1:第一个硬盘的主分区1
    • /dev/sda5:逻辑分区

3. 文件系统与数据资料

  • 常见文件系统
    • Ext3:日志文件系统,可在系统异常时自动修复,但修复时间长。
    • Ext4:改进版,支持大存储容量和高效文件操作。
    • XFS:高性能文件系统,支持大容量,恢复速度快。

4. 挂载硬件设备

  • 挂载操作
    • mount 文件系统 挂载目录 用于挂载硬件。
    • 示例
      • 挂载命令:mount /dev/sda1 /mnt/disk1
      • 查看挂载状态:df -h
    • 卸载设备:umount /dev/sda1

5. 添加硬盘设备

  • 步骤
      1. 在虚拟机中添加新硬盘设备。
      1. 运行 fdisk 命令进行分区。
      1. 使用 mkfs 格式化分区。
      1. 使用 mount 挂载新分区并验证。
  • 分区与挂载示例
    • 分区:fdisk /dev/sdb,新建分区。
    • 格式化:mkfs.ext4 /dev/sdb1
    • 挂载:mount /dev/sdb1 /mnt/newdisk

6. 添加交换分区

  • 步骤
      1. 使用 fdisk 创建分区。
      1. 通过 mkswap 格式化为交换分区。
      1. 使用 swapon 激活交换分区。
      1. /etc/fstab 中添加条目,确保开机自动挂载。
  • 示例
    • 格式化:mkswap /dev/sdb2
    • 启用交换分区:swapon /dev/sdb2
    • 持久化配置:编辑/etc/fstab,加入/dev/sdb2 swap swap defaults 0 0

7. 磁盘容量配额

  • Quota设置
    • 通过 xfs_quotaedquota 命令设置磁盘容量配额。
    • 软限制:超过后有警告,但允许使用。
    • 硬限制:超过后强制终止使用。
  • 示例
    • edquota -u 用户名 设置用户配额
    • 软限制与硬限制的区别:软限制有宽限期,硬限制是不可超越的上限。

8. 软硬链接

  • 软链接(Symbolic Link)
    • 类似Windows快捷方式,指向文件的路径。
  • 硬链接(Hard Link)
    • 指向文件数据块的另一个指针,创建出来与原文件完全一致。
  • 创建命令
    • 创建软链接:ln -s 原文件 链接文件
    • 创建硬链接:ln 原文件 链接文件
 
 

第7章 使用RAID与LVM磁盘阵列技术

1. RAID(独立冗余磁盘阵列)

  • RAID概述
    • RAID通过硬件或软件将多块硬盘串联成一个大的卷组,以提高读写性能或数据冗余。
  • 常见RAID级别对比
    • RAID 0:最少2块硬盘,追求速度和容量,但安全性低,任意一块硬盘损坏都会导致数据丢失。
    • RAID 1:最少2块硬盘,追求安全性,数据完全镜像备份,只要一块硬盘正常,数据不丢失。
    • RAID 5:最少3块硬盘,兼顾速度、容量和安全性,允许一块硬盘故障而不丢失数据。
    • RAID 10:最少4块硬盘,结合RAID 1和RAID 0的优点,提供高速度和高安全性。

2. RAID技术部署

  • 创建RAID磁盘阵列
    • 使用 mdadm 命令创建和管理RAID。
    • 常用命令
      • mdadm -C /dev/md0 -l 5 -n 3 /dev/sda /dev/sdb /dev/sdc:创建RAID 5阵列,使用3块硬盘。
      • mdadm -D /dev/md0:查看RAID阵列的详细信息。
  • 修复RAID磁盘阵列
    • 当硬盘损坏时,使用 mdadm -f /dev/sdX 模拟硬盘故障,之后移除并更换新硬盘。
    • 通过 mdadm --add /dev/md0 /dev/sdX 添加新硬盘恢复RAID。

3. LVM(逻辑卷管理器)

  • LVM概述
    • LVM通过在硬盘分区和文件系统之间添加逻辑层,使用户可以动态调整存储资源。
    • 逻辑卷可以在创建后动态扩展或缩小,不影响数据。
  • LVM核心概念
    • 物理卷(PV):硬盘或分区等物理设备。
    • 卷组(VG):由多个物理卷组成的逻辑存储池。
    • 逻辑卷(LV):从卷组中分配的存储空间,可以扩展或缩小。
  • LVM常用命令
    • 物理卷管理
      • pvcreate /dev/sdb:创建物理卷。
      • pvdisplay:显示物理卷信息。
    • 卷组管理
      • vgcreate myvg /dev/sdb /dev/sdc:创建卷组。
      • vgextend myvg /dev/sdd:扩展卷组。
    • 逻辑卷管理
      • lvcreate -L 150M -n mylv myvg:创建逻辑卷。
      • lvextend -L +140M /dev/myvg/mylv:扩展逻辑卷。

4. LVM部署与管理

  • 部署逻辑卷的步骤
      1. 创建物理卷:pvcreate /dev/sdb
      1. 创建卷组:vgcreate myvg /dev/sdb /dev/sdc
      1. 创建逻辑卷:lvcreate -L 150M -n mylv myvg
      1. 格式化并挂载逻辑卷:mkfs.ext4 /dev/myvg/mylv,然后挂载到 /mnt/mydir
  • 扩展和缩小逻辑卷
    • 扩展:使用 lvextend 扩展逻辑卷,然后运行 resize2fs 同步文件系统大小。
    • 缩小:先检查文件系统的完整性,再使用 lvreduce 缩小逻辑卷。
  • 逻辑卷快照
    • 使用 lvcreate -s -L 100M -n snap /dev/myvg/mylv 创建快照卷,快照卷只可使用一次,使用后会自动删除。
  • 删除逻辑卷
      1. 取消挂载:umount /mnt/mydir
      1. 删除逻辑卷:lvremove /dev/myvg/mylv
      1. 删除卷组:vgremove myvg
      1. 删除物理卷:pvremove /dev/sdb

复习题(例子):

  1. RAID技术的主要作用:提升读写速度并提供数据冗余备份。
  1. RAID 0与RAID 5的安全性对比:RAID 5更安全,因为有冗余校验功能。
  1. RAID 10的故障容忍:最多允许50%的硬盘损坏,但不能是同一RAID 1组内的硬盘。
  1. LVM的底层结构:物理卷是LVM的最底层,卷组由物理卷组成。
 
 
 

第九章 使用SSH服务管理远程主机

1. 配置网络服务

  1. 配置网卡参数
      • 使用nmtui命令配置网卡:
          1. 运行nmtui → 选择要配置的网卡 → 手动设置IPv4。
          1. 示例IP配置:服务器IP为192.168.10.10,客户端为192.168.10.20。
          1. 保存并退出。
  1. 使用nmcli管理网络会话
      • nmcli是命令行工具,管理NetworkManager服务。
      • 支持动态网络配置和网络连接管理,适用于多种工作场景。

2. 远程控制服务(SSH)

  1. SSH基础配置
      • SSH协议:用于安全远程登录,sshd服务提供SSH协议支持。
      • sshd服务配置文件重要参数
        • Port 22:默认端口。
        • PermitRootLogin yes:允许root登录。
        • PasswordAuthentication yes:允许密码验证。
        • MaxAuthTries 6:最大密码尝试次数。
  1. 远程登录操作
      • 基于密码的登录:输入远程主机账号和密码,登录成功。
      • 基于密钥的登录
          1. 在客户端生成密钥对。
          1. 将公钥传输到服务器并配置服务器只允许密钥登录。
          1. 登录时无需输入密码。
  1. 使用scp进行文件传输
      • 格式:scp [参数] 本地文件 远程账户@远程IP:远程目录
      • 示例:scp /root/out.txt root@192.168.10.20:/home
      • 常用参数:
        • r:传输文件夹。
        • P:指定sshd端口。

3. 日志管理

  1. 常见日志文件路径
      • /var/log/boot.log:开机自检日志。
      • /var/log/secure:系统安全相关日志。
      • /var/log/messages:系统及服务的运行和报错日志。
  1. 日志文件分类
      • 系统日志:记录内核和系统运行情况。
      • 用户日志:记录用户登录、退出等信息。
      • 程序日志:记录服务运行状态及相关事件。
  1. 使用journalctl命令查看日志
      • 常用参数:
        • k:查看内核日志。
        • b:查看启动日志。
        • u:查看特定服务日志。
        • -since:查看特定时间后的日志。
 
 
 
 

第十章 使用BIND提供域名解析服务

1. DNS域名解析服务

  1. DNS的基本概念
      • 作用:DNS(域名系统)将用户输入的域名转换为IP地址,方便用户访问互联网资源。
      • 架构:DNS采用分布式数据库架构,使用层次化的目录树结构来管理域名与IP的对应关系。
      • 常见的域名后缀
        • .com.gov.edu.net.org.cn等。
      • DNS的工作方式
        • 正向解析:将域名转换为IP地址(最常用)。
        • 反向解析:将IP地址转换为域名。
      • 服务器类型
        • 主服务器:负责维护域名和IP地址的对应关系。
        • 从服务器:从主服务器同步数据,提供冗余和负载均衡。
        • 缓存服务器:存储经常查询的域名信息,加快重复查询速度。
  1. 查询方式
      • 递归查询:DNS服务器在接收到请求时,必须返回一个准确的结果。
      • 迭代查询:DNS服务器不直接返回结果,而是指向下一个DNS服务器,直到查询完成。

2. 安装BIND服务程序

  1. BIND概述
      • *BIND(Berkeley Internet Name Domain)**是全球范围内最常用的DNS服务器程序,提供稳定和高效的域名解析服务。
      • chroot机制:为了安全性,建议安装BIND时使用chroot扩展包,这可以限制BIND程序只能访问自身的配置文件,防止系统受到更大范围的影响。
  1. BIND的关键配置文件
      • 主配置文件/etc/named.conf,定义了BIND的全局配置参数。
      • 区域配置文件/etc/named.rfc1912.zones,保存域名与IP地址对应关系文件的位置。
      • 数据文件目录/var/named,保存实际的域名和IP地址对应关系的数据文件。

3. 配置正向和反向解析

  1. 正向解析
      • 作用:将域名转换为IP地址。
      • 配置文件
        • 区域配置文件/etc/named.rfc1912.zones):
          • 数据文件/var/named/linuxprobe.com.zone):
      1. 反向解析
          • 作用:将IP地址转换为域名,常用于对垃圾邮件进行处理。
          • 配置文件
            • 区域配置文件/etc/named.rfc1912.zones):
              • 数据文件/var/named/192.168.10.zone):

          4. 部署从服务器

          1. 作用:从服务器用于提升DNS服务的冗余和查询速度,防止主服务器宕机导致服务不可用。
          1. 配置步骤
              • 主服务器配置:允许从服务器进行数据更新。
                • 从服务器配置:从服务器从主服务器同步数据。

              5. 安全的加密传输

              1. TSIG加密机制
                  • TSIG用于保证DNS服务器之间传输数据的安全性,防止数据在传输过程中被篡改或拦截。
                  • 密钥生成
                    • 主服务器配置
                      • 从服务器配置

                    6. 部署缓存服务器

                    1. 作用:缓存服务器存储频繁查询的域名信息,加快域名解析速度。
                    1. 配置
                        • 主配置文件
                          • 验证效果:将客户端的DNS服务器设置为缓存服务器的IP地址(如192.168.10.10),测试解析效果。

                      7. 分离解析技术

                      1. 作用:通过DNS分离解析技术,不同地理区域的用户可以从不同的服务器获取相同数据,提高访问效率。
                      1. 配置
                          • 主配置文件
                            • 数据文件:针对不同地区配置不同的IP地址。
                           
                           
                           
                           
                           

                          第11章:使用DHCP动态管理主机地址

                          主要内容总结

                          1. 动态主机配置协议 (DHCP) 概述:
                              • DHCP(Dynamic Host Configuration Protocol)用于自动管理局域网中的IP地址及其他网络参数,例如子网掩码、网关地址和DNS地址。
                              • 举例:在企业局域网中,DHCP服务器可以自动为员工的电脑分配IP地址,不需要手动配置,每个连接的设备都会自动获得网络配置。
                          1. DHCP 关键术语:
                              • 地址池: 用于动态分配给客户端的IP地址范围。
                                • 举例:设定地址池为 192.168.10.50 - 192.168.10.150,则这些IP地址可以动态分配给局域网中的设备。
                              • 作用域: 一个完整的IP地址段,DHCP根据作用域管理IP分配。
                                • 举例:设置一个作用域为 192.168.10.0/24,那么DHCP会管理整个 192.168.10.x 网段。
                              • 租约: DHCP客户端使用动态分配的IP地址的时间。
                                • 举例:默认租约时间为 21600 秒(6小时),租约到期后,如果设备仍在使用,租约会被更新,否则IP地址会被回收。
                          1. DHCPd 服务的部署:
                              • DHCPd 是Linux系统中的DHCP服务程序,配置简单,但功能强大。
                              • 举例:配置文件中可以设定IP地址范围、子网掩码、DNS和网关:上面的配置表示:局域网的网段为 192.168.10.0/24,IP地址池为 192.168.10.50 - 192.168.10.150,网关地址为 192.168.10.1,DNS服务器也为 192.168.10.1,默认租约为6小时,最大租约为12小时。
                            1. 自动管理IP地址:
                                • DHCP服务器可以自动为客户端分配IP地址、子网掩码、网关地址等,租约到期后,自动回收IP地址。
                                • 举例:当新的设备(如笔记本电脑)连接到网络时,DHCP服务器会自动分配一个IP地址(如 192.168.10.60),并提供子网掩码(255.255.255.0)和网关(192.168.10.1)。
                            1. 分配固定IP地址:
                                • 通过“预约”功能确保特定设备每次都获得相同的IP地址。
                                • 举例:如果某台服务器的MAC地址为 00:1A:2B:3C:4D:5E,我们可以在配置文件中绑定该MAC地址到固定IP:这样,该设备每次连接都会分配到 192.168.10.100 的固定IP。
                              1. 复习题要点:
                                  • DHCP主要用途: 自动为局域网设备分配IP地址及其他网络参数。
                                    • 举例:在一个100台设备的网络中,使用DHCP可以大大简化IP管理工作。
                                  • DHCP能分配的网络资源: 包括IP地址、子网掩码、网关地址和DNS地址等。
                                  • 地址池 vs. 作用域: 地址池是可以实际分配给客户端的IP范围,作用域是管理整个网段的IP分布。
                                  • 租约作用: 控制IP地址的使用时间,到期自动回收,避免IP浪费。
                                  • 固定IP分配: 通过绑定主机的MAC地址,确保该主机总是获取到固定的IP地址。
                                    • 举例:为公司服务器绑定固定IP 192.168.10.100,使其每次重启后都能自动获得相同的IP地址。
                              上一篇
                              建站日记
                              下一篇
                              ChatGPT+Simple Mind Map生成思维导图:快速提升学习效率

                              评论
                              Loading...