首页主机资讯如何自定义CentOS消息模板

如何自定义CentOS消息模板

时间2026-01-16 09:03:03发布访客分类主机资讯浏览1246
导读:在 CentOS 中,常见的“消息模板”包括两类:一是系统日志 syslog 的输出格式模板,二是登录前后显示的欢迎/提示信息模板。下面分别给出可直接落地的配置方法与示例。 一、自定义 syslog 日志格式模板 适用场景:统一日志时...

在 CentOS 中,常见的“消息模板”包括两类:一是系统日志 syslog 的输出格式模板,二是登录前后显示的欢迎/提示信息模板。下面分别给出可直接落地的配置方法与示例。


一、自定义 syslog 日志格式模板

  • 适用场景:统一日志时间格式、字段顺序、是否显示主机/进程等,便于检索与对接日志平台。

  • 核心思路:在 rsyslog 中通过 $template 定义模板,再把模板应用到指定的设施/优先级规则。

  • 操作步骤:

    1. 备份配置
      sudo cp /etc/rsyslog.conf /etc/rsyslog.conf.bak

    2. 编辑配置,定义模板(示例:包含时间、标签与消息,并去除多余换行)
      sudo vi /etc/rsyslog.conf
      在文件任意规则之前加入:
      $template CustomFormat,“%timegenerated% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n”

    3. 应用模板到规则(示例:对所有日志生效,并停止后续处理)
      在文件末尾添加:
      . ?CustomFormat
      & stop

    4. 重启服务并验证
      sudo systemctl restart rsyslog
      tail -f /var/log/messages

  • 常用属性与含义(可按需组合):

    • %timegenerated%:日志产生时间
    • %syslogtag%:设施.优先级[进程名]
    • %msg%:日志正文
    • 修饰符如 :::sp-if-no-1st-sp:::drop-last-lf 用于控制空格与换行
  • 提示:若只想影响部分日志,可将规则改为例如 authpriv. ?CustomFormat* 或 local0. ?CustomFormat* 等更精确的选择器。


二、自定义登录前后欢迎与提示信息模板

  • 适用场景:在本地终端或 SSH 登录前后展示公司/项目标识、合规提示、运维公告等。

  • 关键文件与差异:

    文件 显示时机 适用连接 备注
    /etc/issue 登录提示符之前(本地终端) 本地控制台 支持转义序列(见下)
    /etc/motd 登录成功后 本地与 SSH 简单文本/脚本输出
    /etc/ssh/sshd_config 的 Banner 建立 SSH 连接后、认证前 仅 SSH 适合法律/合规声明
  • 配置方法与示例:

    1. 本地控制台预登录信息(/etc/issue)
      sudo vi /etc/issue
      示例内容:
      \s \r (\m) \n
      Welcome to \n (\o)
      Login time: \t
      可用转义序列:\d(日期)、\l(终端号)、\m(架构)、\n(主机名)、\o(域名)、\r(内核版本)、\t(时间)、\s(系统名)、\u(当前登录用户数)、\U(用户数与用户)、\v(系统版本日期)。

    2. 登录成功后信息(/etc/motd 或 /etc/motd.d)

    • 直接编辑:
      sudo vi /etc/motd
      示例:
      Welcome to use my custom system!
    • 或按目录管理:
      sudo mkdir -p /etc/motd.d
      echo “Welcome to use my custom system!” | sudo tee /etc/motd.d/welcome
      说明:/etc/motd 在本地与 SSH 登录成功后都会显示;/etc/motd.d 目录下的文件会被统一展示(若系统启用该机制)。
    1. SSH 连接前横幅(Banner)
      sudo vi /etc/ssh/ssh_banner
      示例:

    Unauthorized access is prohibited. All activities are monitored and logged.


    在 /etc/ssh/sshd_config 中启用:
    sudo vi /etc/ssh/sshd_config
    Banner /etc/ssh/ssh_banner
    重启服务:
    sudo systemctl restart sshd
    说明:Banner 在 SSH 握手阶段展示,常用于合规提示;/etc/motd 则在认证成功后展示。


三、验证与排错

  • 验证 syslog 模板:

    • 观察新日志格式:tail -f /var/log/messages
    • 触发一条日志(如 logger “test custom template”),确认字段与换行符合预期。
  • 验证登录信息:

    • 本地终端:直接登录控制台查看 /etc/issue 内容是否呈现。
    • SSH:重开一个 SSH 会话,先看到 Banner(若配置),登录成功后看到 /etc/motd 内容。
  • 常见问题:

    • 修改未生效:确认 rsyslog/sshd 已重启,且规则选择器与模板名称拼写正确。
    • SSH 不显示 /etc/issue:这是预期行为,/etc/issue 仅用于本地终端预登录显示。
    • 字符编码与换行:确保文件为 UTF-8,避免 Windows 换行导致显示异常。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何自定义CentOS消息模板
本文地址: https://pptw.com/jishu/781173.html
CentOS PHP日志中的错误追踪方法 CentOS PHP日志中的内存泄漏检测

游客 回复需填写必要信息