iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Redhat持久化日志实战示例详解
  • 886
分享到

Redhat持久化日志实战示例详解

Redhat持久化日志Redhat持久化 2022-11-16 00:11:37 886人浏览 安东尼
摘要

目录持久化日志实战练习:收集信息持久化日志 默认情况下,Red Hat Enterprise linux 7将系统日志存储在/run/log/journal中,该日志存储在tmpfs

持久化日志

默认情况下,Red Hat Enterprise linux 7将系统日志存储在/run/log/journal中,该日志存储在tmpfs(临时文件系统)上。这意味着在重新启动时,所有存储的信息都将丢失。如果目录/var/log/journal存在,日志将存储在那里,从而在重新引导后启用持久日志。

可以通过使用以下步骤来启用持久性日志:

mkdir/var/log/journal
chown root:systemd-journal  /var/log/journal
chmod 2755   /var/log/journal

通过向systemd-journald发送USR1信号,通知它应该使用新位置。当然你也是可以重启的:

 killall -USR1 systemd-journald

实战练习:收集信息

在本实验中,我们呢将使用日志文件来排除WEB服务器的故障。

您的服务器一台机器正在运行一个web服务器,为文件servera.lab.example.com/test.html.提供服务。您的测试经理刚刚发来一张通知,告知您不能从web浏览器访问该文件。通知中没有给出进一步的信息。

使用servera上的日志文件调查此问题,然后解决此问题。

为了重现这个问题,你可以在火狐上浏览这是个网页,也可以执行下面的命令:

elinks -dump Http://servera.lab.example.com/test.html

我们遇到HTTP 403的问题。这可能有很多原因:文件权限、Linux类型、内部httpd配置等。

你知道web服务器本身正在运行,并且防火墙是打开的。

我们去servera服务器上看看日志呀:

那我们就应该知道,在服务器上的httpd的日志大多数是存储在:

/var/log/httpd/access_log   for all access attempts
/var/log/httpd/error_log   for all errors.

1.首先我们在 /var/log/httpd/access_log这个地方查询关于test.html的任何消息。

grep test.html /var/log/httpd/access_log

这个输出中的403是HTTP状态代码。除此之外,可以看到请求的URL、请求的日期和时间,以及使用的用户代理,但是没有任何东西可以进一步帮助解决这个问题。

2.继续检查 /var/log/httpd/error_log

tail /var/log/httpd/error_log

这条消息告诉您httpd被文件权限阻止读取test.html文件。这排除了httpd的内部配置错误,所以文件权限和SELinux是可能的原因。

  • 检查/var/www/html/test.html上的文件权限,并在必要时进行修复。
[root@servera ~]# ls -l /var/www/html/test.html

第一组rw-: 表示这个文件的拥有者对它的权限:可读可写

第二组---: 表示这个文件的所属组对它的权限

第三组---: 表示这个文件的其他用户(相对于上面两类用户)对它的权限

我们可以看到这个权限是不太对的。

chmod 644 /var/www/html/test.html

我们让所有用户有可读权限。

我们使用Firefox或elinks再次测试对文件的访问,发现还是没有解决这个问题,那么说明文件权限问题不是全部问题。

那么就要去看看SElinux了:

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。

  • 检查SELinux日志,查看今天发生的任何拒绝,并修复您可能发现的任何问题。

查看selinux今天是否有拒绝:

 ausearch -i -m avc -ts today

这表明test.html文件具有tmp_t的SELinux类型,所以httpd不允许打开它

通过在上运行递归restorecon修复此问题 /var/www

[root@servera ~]# restorecon -Rv /var/www

此时我们再次运行那个网页就发现OK了。

以上就是Redhat持久化日志实战示例详解的详细内容,更多关于Redhat持久化日志的资料请关注编程网其它相关文章!

--结束END--

本文标题: Redhat持久化日志实战示例详解

本文链接: https://www.lsjlt.com/news/172914.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • c语言怎么计算字符串长度
    在C语言中,可以使用内置的strlen()函数来计算字符串的长度。该函数位于string.h头文件中。以下是一个示例代码: #inc...
    99+
    2024-05-15
    c语言
  • c语言怎么判断三个数的大小
    可以通过比较三个数之间的大小关系来判断它们的大小。以下是一个示例代码: #include <stdio.h> int ...
    99+
    2024-05-15
    c语言
  • c++排序函数sort怎么使用
    在C++中,使用sort函数对容器中的元素进行排序,可以按照默认的升序排列,也可以自定义排序规则。 下面是一个简单的例子,对一个ve...
    99+
    2024-05-15
    c++
  • c++中string的compare函数怎么使用
    在C++中,可以使用string的compare函数来比较两个string对象的大小。该函数的原型如下: int compare(c...
    99+
    2024-05-15
    c++
  • c++中string的compare函数有什么用
    c++中string的compare函数用于比较两个字符串的大小关系。该函数返回一个整数值,表示两个字符串的比较结果。 具体来说,如...
    99+
    2024-05-15
    c++
  • c++中print函数的功能有哪些
    在C++中,通常使用std::cout来进行输出操作,而不是使用print函数。std::cout是C++标准库中的一个输出流对象,...
    99+
    2024-05-15
    c++
  • c语言数据结构怎么使用
    在C语言中,数据结构可以通过定义结构体来实现。以下是一些常见的数据结构的使用方法示例: 链表: #include <std...
    99+
    2024-05-15
    c语言
  • c++中print函数的用法是什么
    在C++中没有内置的print函数,但可以使用cout来输出内容到控制台。cout是C++标准库中的一个输出流对象,可以使用<...
    99+
    2024-05-15
    c++
  • c++中concept的用法是什么
    在C++20中,Concept是一种新的语言特性,用于定义类型要求和约束。Concept可以被用来约束函数模板、类模板和普通函数的参...
    99+
    2024-05-15
    c++
  • c++中concept的作用是什么
    在C++中,concept的作用是定义一种通用的约束,用于限制模板参数的类型范围。通过使用concept,可以在编译时对模板参数进行...
    99+
    2024-05-15
    c++
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作