首页主机资讯centos message如何定制化设置

centos message如何定制化设置

时间2025-12-02 17:19:03发布访客分类主机资讯浏览955
导读:CentOS 消息定制化设置指南 一 登录前与登录后的消息 静态登录提示:编辑文件 /etc/motd,添加任意公告文本(如维护通知)。下次登录终端将直接显示该内容。示例: sudo nano /etc/motd 写入:欢迎使用 Cen...

CentOS 消息定制化设置指南

一 登录前与登录后的消息

  • 静态登录提示:编辑文件 /etc/motd,添加任意公告文本(如维护通知)。下次登录终端将直接显示该内容。示例:
    • sudo nano /etc/motd
    • 写入:欢迎使用 CentOS,今日系统已更新!
  • 动态登录提示:使用 /etc/update-motd.d/ 脚本生成动态内容(如时间、负载)。示例:
    • cd /etc/update-motd.d/
    • sudo nano 99-custom-message
    • 内容:
      • #!/bin/sh
      • echo “=== 系统动态信息 ===”
      • echo “当前时间:$(date)”
      • echo “系统负载:$(uptime | awk -F’load average: ’ ‘{ print $2} ’)”
    • 赋权:sudo chmod +x 99-custom-message
  • 确保 SSH 登录显示 MOTD:检查 /etc/pam.d/sshd 中启用 pam_motd 的行未被注释,例如:
    • session optional pam_motd.so motd=/run/motd.dynamic noupdate
  • 图形界面登录提示(GDM):编辑 /etc/gdm/custom.conf,在 [daemon] 段加入自定义命令(如弹窗欢迎)。示例:
    • [daemon]
    • DisplayCommand = /usr/bin/zenity --info --text=“欢迎登录图形界面!”

二 实时广播与定向消息

  • 向所有在线终端广播:使用 wall。示例:
    • echo “【系统公告】今晚 22:00–23:00 维护,请保存工作后退出。” | wall
    • 或:wall -f /tmp/custom_message.txt
  • 向指定用户发送:结合 whowrite。示例:
    • who | grep ‘pts/’ | awk ‘{ print $1} ’ | xargs -I { } write { } ‘重要提醒:您的账户将于 1 小时后过期。’
  • 接收权限控制:
    • 关闭接收:mesg -n
    • 开启接收:mesg -y

三 日志与邮件告警

  • 系统日志路由与格式:编辑 /etc/rsyslog.conf/etc/rsyslog.d/ 下的文件,按需分类存储。示例:
    • 将内核消息单独记录:kern.* /var/log/kernel.log
    • 修改后重启服务:sudo systemctl restart rsyslog
  • 远程日志:将日志发往远程服务器(UDP 514)。示例:
    • authpriv.* @192.0.2.10:514
  • 邮件通知(mailx + Postfix):
    • 安装:sudo yum install mailx postfix -y
    • 配置发信(编辑 /etc/mail.rc):
      • set from=“your_email@example.com”
      • set smtp=smtp.yourmailserver.com
      • set smtp-auth=login
      • set smtp-auth-user=“your_username”
      • set smtp-auth-password=“your_password”
    • 发送测试:echo “【系统报警】磁盘空间不足(剩余 10%)” | mailx -s “系统报警” admin@example.com
    • 说明:邮件适合留存与远程告警,配合 rsyslog 规则可实现关键日志自动邮件通知。

四 图形桌面与远程推送通知

  • 桌面弹窗通知(当前登录用户):使用 notify-send。示例:
    • 安装依赖:sudo yum install libnotify -y
    • 发送:notify-send “【每日提醒】” “当前时间 $(date +”%Y-%m-%d %H:%M:%S")"
  • 系统级日志转通知:结合 journalctl -f 与脚本实时推送。示例:
    • 创建脚本 log_notifier.sh:
      • #!/bin/bash
      • journalctl -f | grep --line-buffered “ERROR” | while read line; do
      • notify-send “系统错误” “$line”
      • done
    • 运行:chmod +x log_notifier.sh & & ./log_notifier.sh
  • 第三方 Webhook 推送(远程告警):
    • Slack:curl -X POST -H ‘Content-type: application/json’ --data ‘{ “text”:“【系统通知】CPU 使用率超过 90%”} ’ https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
    • Telegram:curl -s -X POST -H ‘Content-Type: application/json’ --data ‘{ “chat_id”:“YOUR_CHAT_ID”,“text”:“【系统通知】服务器已重启”} ’ https://api.telegram.org/botYOUR_BOT_TOKEN/sendMessage
  • 自建推送服务(Gotify):部署 Gotify 后,通过 API 发送。示例:
    • curl -X POST “http://服务器IP/message?token=应用Token” -d ‘title=系统告警’ -d ‘message=磁盘空间不足!’ -d ‘priority=5

五 常见问题与排查

  • 动态 MOTD 不显示:确认 /etc/update-motd.d/ 脚本具备可执行权限,且 /etc/pam.d/sshdpam_motd.so 行未被注释;必要时检查 /run/motd.dynamic 是否由系统更新机制生成。
  • 广播消息未出现:确认目标终端未禁用消息接收(mesg 状态),并使用正确的命令格式(echo … | wall 或 wall -f 文件)。
  • 邮件发送失败:核查 /etc/mail.rc 的 SMTP、账号与密码是否正确,确认 Postfix 已启动并允许外发;必要时查看 /var/log/maillog
  • 桌面通知无效:确认当前会话存在图形会话(如 DISPLAY 变量),且已安装 libnotify;必要时使用完整路径 /usr/bin/notify-send

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


若转载请注明出处: centos message如何定制化设置
本文地址: https://pptw.com/jishu/761442.html
centos上flutter模拟器怎么安装 centos中flutter运行报错怎么解决

游客 回复需填写必要信息