第五周内容

一、总结rocky 系统的启动流程,grub工作流程。

rocky 系统的启动流程:

1. 通电                                                                                                                                              2.加载BIOS的硬件信息,运行POST加电自检                                                                                  3. 启动引导加载器bootloader,引导程序,引导操作系统启动。                                                      4.启动操作系统,加载kernel ,加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备                                                                                                                                        5. 核心执行init程序,并获取默认的运行信息                                                                                    6. init程序执行/etc/rc.d/rc.sysinit文件,重新挂载根文件系统                                                            7. 执启动核心的外挂模块                                                                                                                  8. init执行运行的各个批处理文件(scripts)                                                                                          9. init执行/etc/rc.d/rc.local                                                                                                                10. 执行/bin/login程序,等待用户登录                                                                                            11. 登录之后开始以Shell控制主机                                                              

grub工作流程:

启动引导加载器bootloader,引导程序,引导操作系统启动。

stage1:存储在0磁道0扇区的前446字节空间内

stage1.5:1扇区到2047扇区,存储2阶段的文件系统驱动,保证2nd中 的文件可读

stage2:/boot/grub/grub.conf

二、总结awk工作原理,awk命令,选项,示例。

awk工作原理:

awk,报告生成器,格式化文本输出                                                                                                1. 执行BEGIN{action;… }语句块中的语句。                                                                                      2. 从文件或标准输入(stdin)读取一行,然后执行pattern{ action;… }语句块,它逐行扫描文件,从第 一行到最后一行重复这个过程,直到文件全部被读取完毕。                                                          3. 当读至输入流末尾时,执行END{action;…}语句块。

BEGIN{}:仅在开始处理文件中的文本之前执行一次                                                                          END{}:仅在文本处理完成之后执行一次

awk -v FS=":"    #设置字段分隔符为:,默认为空白字符

awk -v RS=";" '{print $0}' test.txt   #用于分割指定文件的行,默认是换行符,设置用于分割指定文件的行为:

awk -v FS=":" '{print NF}' /etc/passwd    #一条记录的字段数量,表示每行有几列

awk '{print NR,$0}' /etc/issue   #行号

自定义变量:

用 -v 选项定义自定义变量,AWK中的自定义变量命名要区分大小写。

awk -v var1=abc -v VAR1=123 'BEGIN{print var1;print VAR1}'

模式匹配操作

~    #左边是否和右边匹配,包含关系

!~   #是否不匹配

#包含root的行

awk -F: '$0 ~ /root/{print $0}' /etc/passwd

awk '/root/'   /etc/passwd

#以root开头的行

awk -F: '$0 ~ "^root"{print $0}' /etc/passwd

awk '/^root/'   /etc/passwd

#不包含root的行

awk '$0 !~ /root/' /etc/passwd

#UID为0的行

awk -F: '$3==0' /etc/passwd

模式PATTERN

正则匹配

#非空行,非注释行

awk '!/^$|^#/{print $1}' /etc/fstab

三、打印/etc/passwd的奇数行

awk  'NR%2==1{print NR,$0}'  /etc/passwd

四、打印Linux系统的"IP地址,系统版本,CPU核心,内存大小"

打印IP地址:ifconfig eth0 | awk -F" " '/ +inet +[0-9]/{print $2}'

打印系统版本:cat /etc/os-release | awk -v FS="=" '/^PRETTY/{print $2}'

CPU核心:lscpu | grep "^CPU(s):" | awk '{print $2}'

内存大小:free -h | awk '/^Mem/{print $2}'

五、在文本的所有行前加序号

awk '{print NR,$0}' /etc/passwd

六、统计某个文件夹下的文件占用的字节数。

ll | awk 'BEGIN{size=0}{size=size+$5}END{print "total_size="size}'

七、总结内核设计流派及特点。

Linux内核的设计流派分为两种主要类型:

宏内核:宏内核是最常见的内核设计流派,也是Linux内核的设计方式。特点是所有的核心功能和服务都作为一个整体运行在内核空间,高效且性能优越。

微内核:微内核设计流派将核心功能和服务尽量精简,将更多的功能移到用户空间,特点是内核只提供最基本的功能,其他功能如文件系统、设备驱动等都作为用户空间的可插拔模板存在。

八、总结systemd服务配置文件

#每个服务最主要的脚本文件目录,类似于之前的/etc/init.d/

/usr/lib/systemd/system/

#系统执行过程中所产生的服务脚本,比上面目录优先运行

/run/systemd/system/

#管理员建立的执行脚本,类似于/etc/rcN.d/Sxx的功能,比上面目录优先运行

/etc/systemd/system/

九、总结system启动流程

1. UEFi或BIOS初始化,运行POST开机自检                                                                                      2. 选择启动设备                                                                                                                                  3. 引导装载程序, centos7是grub2,加载装载程序的配置文件: /etc/grub.d/, /etc/default/grub ,/boot/grub2/grub.cfg                                                                                                                      4. 加载initramfs驱动模块(可以实现根文件系统的挂载)                                                                5. 加载虚拟根中的内核                                                                                                                    6. 虚拟根的内核初始化,Centos7使用systemd代替init,第一个进程                                              7. 执行initrd.target 所有单元,包括挂载 /etc/fstab                                                                            8. 从initramfs根文件系统切换到磁盘根目录                                                                                      9. systemd执行默认target配置,配置文件/etc/systemd/system/default.target                                  10. systemd执行sysinit.target初始化系统及basic.target准备操作系统                                              11. systemd启动multi-user.target 下的本机与服务器服务                                                              12. systemd执行multi-user.target 下的/etc/rc.d/rc.local                                                                  13. Systemd执行multi-user.target下的getty.target及登录服务                                                        14. systemd执行graphical需要的服务

十、总结DNS域名三级结构

域名是分层次的,允许定义子域,子域名与上级域名之间用 . (点号)分隔。级别最低的域名写在最 左边,而级别最高的域名写在最右边。

一级域名:又称顶级域名,可分为三类,一类代表国家和地区(cn,hk,......),一类代表各类组织 (com,edu,......),以及反向域                                                                                                          二级域名:某个具体组织,单位,机构,商业公司或个人使用,需要向域名管理机构申请(付费)才能获得 使用权                                                                                                                                    二级域名以下的域名,由使用该域名的组织自行分配。

十一、总结DNS服务工作原理,涉及递归和迭代查询原理

1. 当客户端主机决定访问 https://www.magedu.com 这个域名时,首先会查询本机缓存;              2. 如果本机缓存没有解析记录,则会向其配置的DNS服务器发起解析请求;                                  3. DNS代理解析服务器会先查询其缓存是否有这条解析记录,如果有,则直接返回,如果没有,则继 续向上解析;                                                                                                                            4. DNS代理解析服务器会向根域名服务器发起解析请求,根域名服务器返回 com 域名的DNS地址;                                                                                                                                                  5. DNS代理解析服务器继续向 com 域名服务器发起解析请求,com 域名服务器返回 magedu.com 域名服务器DNS地址;                                                                                                                    6. DNS代理解析服务器继续向 magedu.com 域名服务器发起解析请求,magedu.com 域名服务器返 回 www.magedu.com 主机的IP;                                                                                                7. DNS代理解析服务器将 www.magedu.com 的IP地址存入本机缓存,再读取缓存,将 IP地址发送给 客户端主机;                                                                                                                                8. 客户端主机通过IP地址顺利访问 https://www.magedu.com。

递归查询:是指DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果DNS服务器本地 没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结果提交给用户。一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器 本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结果后转交给客户 机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。

迭代查询:是指DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地 址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。

十二、实现私有DNS, 供本地网络主机作DNS递归查询。

安装bind软件,bind 是一款实现DNS服务的开放源码软件,目前Internet上半数以上的DNS服务器都是由Bind来实现的。

apt install -y bind9

启动服务:systemctl enable --now named.service

查看端口占用:ss -tunlp | grep named

在网卡中配置DNS服务,netplan apply 生效。查看/etc/resolv.conf,nslookup www.magedu.com;dig www.magedu.com

十三、总结DNS服务器类型,解析答案,正反解析域,资源记录定义。

DNS服务器里面有两个区域,即 正向查找区域 和 反向查找区域

正向解析:将域名解析成IP地址

反向解析:根据IP地址得到该IP地址指向的域名

操作系统规定,在进行DNS请求以前,先检查系统自己的Hosts文件中是否有这个域名和IP的映射关系。 如果有,则直接访问这个IP地址指定的网络位置,如果没有,再向已知的DNS服务器提出域名解析请 求。也就是说Hosts的IP解析优先级比DNS要高。

具体解析规则 /etc/bind/db.*   ,该文件定义域名的具体解析规则,该文件有多条资源记录组成,每一行都是一条资源记录,在RFC文档 中,DNS解析记录被称为Resource Recode(资源记录),缩写为 RR

RR格式

NAME    TTL    CLASS    TYPE    VALUE

TYPE字段说明:

十四、实现DNS主从同步,实现DNS子域授权

配置DNS主从同步

在配置 DNS MASTER 主机上,vim /etc/bind/db.linux-magedu.com 添加从DNS配置,此配置是保证能推送数据到从节点。重载或者重启服务:rndc reload 或者 systemctl  restart named                在配置 DNS SLAVE 主机上, 没有安装bind软件的话,需要先安装,apt update;apt install bind9     在/etc/apparmor.d/usr.sbin.named  文件,第19行后新增如下两行

/etc/bind/slaves/** rwk,

/etc/bind/slaves/ rwk,  

重启服务:systemctl restart apparmor.service

在/etc/bind/named.conf.default-zones文件中,新增主从同步配置,然后重启。                              验证:解析文件是否己经同步了 ls /etc/bind/slaves/                                                                          验证:host www.linux-magedu.com;dig www.linux-magedu.com                                                      分别关闭DNS MASTER 和 DNS SLAVE上的DNS服务,看另外一个DNS服务是否能正常使用。

主从DNS数据同步测试:

在DNS MASTER 主机上,/etc/bind/db.linux-magedu.com 文件中,增加一条db解析记录 并且把版本号升大,保存,然后重启服务,查看文件修改时间:ll /etc/bind/db.linux-magedu.com                   查看 配置DNS SLAVE 的主机上,数据并没有更新:ls -lh  //etc/bind/db.linux-magedu.com,如果文件修改时间了,主从DNS数据同步成功。

十五、总结openssh服务安全加固和总结openssh免密认证原理,及免认证实现过程。

openssh服务安全加固:

1、禁用不安全的加密算法:在sshd_config文件中禁用不安全的加密算法,如DES和RC4等,建议只使用AES和ChaCha20等安全加密算法。
2、限制用户登录:可以通过修改sshd_config文件中的AllowUsers或DenyUsers选项来限制哪些用户可以登录,也可以使用PAM模块限制用户登录。
3、使用强密码策略:可以通过修改sshd_config文件中的PasswordAuthentication选项来启用强密码策略,建议设置密码最小长度、密码复杂度等。
4、防止暴力破解:可以通过修改sshd_config文件中的MaxAuthTries选项来限制用户登录失败的次数,也可以使用Fail2ban等软件来防止暴力破解。
5、使用公钥认证:使用公钥认证可以减少密码泄露的风险,建议禁用密码认证并启用公钥认证。
6、修改SSH默认端口:将SSH默认端口修改为非常用端口,可以减少暴力破解的风险。
7、定期更新OpenSSH版本:及时更新OpenSSH版本可以修复安全漏洞和提升安全性能。
8、配置防火墙:使用防火墙可以限制SSH服务的访问范围,只允许必要的IP地址访问SSH服务端口。

openssh免密认证原理,及免认证实现过程:

openssh免密认证的原理是基于公钥交换原理,公钥交换的原理如下:

(1).客户端发起连接请求;

(2).服务端向客户端返回自己的公钥和一个会话ID;

(3).客户端生成自己的公钥和私钥;

(4).客户端用自己的公钥异或会话ID,计算出一个Res值,并用服务端的公钥加密;

(5).客户端发送加密后的值到服务端,服务端用自己的私钥解密,得到Res值;

(6).服务端用解密后的Res值异或会话ID,计算出客户端的公钥;

(7).最终,客户端和服务端各自有3个密钥,分别为自己的一对公私钥,以及对方的公钥,之后所有的通讯都会被加密。

openssh免密认证的实现过程:

(1).客户端生成一对密钥(ssh-keygen);

(2).客户端将生成的公钥通过ssh-copy-id拷贝到服务端;

(3).客户端再次发送一个连接请求(包括IP和用户名);

(4).服务端得到客户端的请求后,回到.ssh目录下的authorized_keys这个文件里查找对应的IP和用户名,如果查到了,就会随机生成一个字符串;

(5).服务端会把这个随机生成的字符串,通过客户端拷贝过来的公钥加密,然后发送给客户端;

(6).客户端收到服务端发送的消息后,利用自己的私钥进行解密,然后将解密后的字符串发送给服务端;

(7).服务端收到后客户端发送来的字符串后,跟之前的字符串进行对比,如果一致,就发送一个允许免密登录的响应给客户端。

十六、总结对称加密和非对称加密的概念和常见的加密算法

常用的加密算法包括:对称加密,非对称加密,单向加密。

对称加密:加密和解密使用同一个密钥

特性:

加密、解密使用同一个密钥,效率高;

将原始数据分割成固定大小的块,逐个进行加密

非对称加密:密钥是成对出现

公钥:public key,公开给所有人,主要给别人加密使用

私钥:secret key,private key 自己留存,必须保证其私密性,用于自已加密签名

特点:

用公钥加密数据,只能使用与之配对的私钥解密;反之亦然

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值