第六周作业

1. 总结sudo配置文件格式,总结相关示例。

sudo命令可以让普通用户去去执行一些或者全部的root命令。

其规则配置文件为/etc/sudoers

配置规则格式:%sudo    ALL=(ALL:ALL) ALL

授权用户  主机名(IP;主机名;网段;别名)=以什么身份(用户名;用户ID;组名;组ID)  命令

配置tom以root身份登录并在/home路径下创建文件

创建时选项必须与配置一致

sudo -u可以指定登录的用户(Defaults:tom runas_default=poil)指定sudo默认登录用户

而当登录的主机不一致时,相对应的主机也必须做相应配置。


2. 搭建时间同步服务器,详细总结配置和搭建过程

服务端在chrony.conf文件中配置

allow 192.168.131.0/24   允许192.168.131.0网段的主机使用本机的时间同步服务

local stratum 10  即使未与时间源同步也提供服务

然后重启chrony服务并关闭防火墙

在两台客户端在chrony.conf文件中配置

将服务端192.168.131.131作为时间同步源并重启chrony服务

此时服务端可以看到有两台主机以自己作为时间同步源

客户端


3. 总结常见的日志服务管理的常见日志服务

现在常用的日志服务有rsyslod和elk服务。

rsyslog服务支持输出到各种数据库,可以对日志进行过滤记录,支持数据加密和压缩传输。

rsyslog主要用于单机日志管理,ELK 主要用于分布式集群环境中的日志管理。


4. 总结日志分类, 优先级别。图文并茂解释应用如何将日志发到rsyslog,并写到目标。

日志分类为安全和认证相关日志,安全和认证相关日志(私有),定时任务与at产生的日志,各守护进程产生的日志,ftp守护进程产生的日志,内核产生的日志,LOCAL0-7自定义分类,打印服务日志,邮件服务日志,网络新闻服务日志,服务自己的日志,user用户等级,uucp子系统的日志信息。

日志优先级别分别为紧急,告警,关键状态告警(多为硬件),其他错误,警告级别信息,通知级别信息,通告级别信息,调试程序时信息。

应用将日志发送到rsyslog,会依据rsyslog配置文件中的规则类写入对应文件。

比如这就是表示所有类型的info级别以上的日志,除了mail,authpriv,cron类型none级别的日志全部写到/var/log/messagesh中。


5. 完成功能,将3个主机(要求主机名为ip)的ssh日志,通过rsyslog服务将ssh日志写入到集中的主机上的rsyslog服务,写入到/var/log/all-ssh.log文件

首先打开服务机syslog服务中的通信端口模块,默认监听514端口,重启syslog服务

配置主机名解析

客户端分别配置以tcp,udp协议转发至服务端

配置客户端主机名

服务端配置将ssh日志文件存储到/var/log/all-ssh.log

然后服务端就可以接收到客户端发送过来的日志


6. 总结/var/log/目录下常用日志文件作用。

auth.log        记录用户登录,sudo权限使用,ssh连接等安全事件

boot.log        记录系统启动过程中的服务和初始化脚本输出

btmp             记录错误的登录尝试

cron              记录定时任务的执行结果

dmesg          记录系统启动时内核检测到的硬件和驱动信息

dpkg.log       记录dpkg包管理操作

faillog           登录失败日志

kern.log       记录内核运行的日志

lastlog          最近登录的日志

syslog          系统综合日志,记录内核、服务和应用程序的通用消息

wtmp            历史登录日志

ufw.log         防火墙的规则触发和拦截事件


7. 总结journalctl命令的选项及示例

journalctl是一个服务日志管理工具,他会将日志以二进制文件的形式存储。

journalctl --list-catalog        查看日志分类

journalctl -f        追踪显示最新日志

journalctl -S "15:00:00" -U "16:00:00"        可以查看一个时间段内的日志

journalctl --list-boots        可以查看启动信息

journalctl -b 0        可以查看当前的启动日志;1 为上次的启动日志        

journalctl -k        查看内核日志,对应/var/log/kern文件

journalctl /usr/sbin/sshd        查看登录相关日志


8. 完成将多个主机(要求主机名为ip)的logger命令日志集中写入到mysql表中

首先在服务端下载rsyslog-mysql包

然后在数据库服务机安装mysql服务,sql默认监听3306端口

将服务端mysql模板文件发送给数据库服务机

服务机创建rsyslog库,使用刚接收的sql模板,此时可以看到新建的空表

创建用户并授权

然后服务端会在/etc/rsyslog中生成一个mysql的配置文件,修改其指向sql服务机并重启syslog服务

此时数据库服务机即可接收到转发的日志文件


9. 尝试使用logrotate服务切割message日志,每天切割一次,要求大于不超过3M, 保存90天的日志, 旧日志以时间为后缀,要求压缩。

在/etc/logrotate.d/中写配置文件


10.apache请按照课程完成搭建和练习,本部分不是重点,不出题
11.总结http协议相关面试题,建议面试前背一背。参考链接: https://juejin.cn/post/7117533146454687757


10.总结NAS的部署和安装过程

常见的存储方式有3种:直连式存储(DAS);存储区域网络(SAN);网络附加存储(NAS)。

直连式存储也就是最常见的,硬盘和文件系统都在本地;存储区域网络是硬盘在另一个位置,文件系统在本机,类似云主机;网络附加存储是硬盘和文件系统均不在本地。

要实现一个NAS的部署,我们可以通过NFS服务实现。

直接修改配置文件exports,添加共享出来的文件夹,并添加对应主机可执行操作。

此时另一台主机就可以mount挂载相应目录至本机目录,实现文件共享。


11.使用inotify + rsync和sersync实现文件的同步,并且总结两种方式的优缺点

1.inotify + rsync方法

首先修改服务端rsync配置文件将目标文件夹共享出来

然后客户端编写脚本,并且需要创建一个相应的用户密码脚本

此时两台主机实现文件同步。

2.sersync

sersync需要自己手动添加,添加完成后直接修改配置文件。主要修改sersync和rsync部分即可完成文件同步。

3.rsync与sersync不同特点

rsync 可以实现远程同步,支持本地复制,或者与其他SSH、 rsync主机同步数据,支持增量备份,配合任务计划,rsync能实现定时或间隔同步,配合 inotify 或 sersync,可以实现触发式的实时数据同步。但是会产生重复事件,浪费资源。
sersync可以linux系统文件系统产生的临时文件和重复的文件操作进行过滤,节约资源和时间。
sersync 直接使用静态编译好的二进制文件和 xml 配置文件,定时任务也可以直接在里面配置。
sersync 使用多线程进行同步,尤其在同步较大文件时,能够保证多个服务器实时保持同步状态。
sersync 有出错处理机制,通过失败队列对出错的文件重新同步,如果仍旧失败,则按设定时长对
同步失败的文件重新同步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值