🎬 HoRain 云小助手个人主页

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

目录

⛳️ 推荐

⚙️ ​​一、核心配置文件与用途​​

​​1. /etc/issue:登录前提示(本地终端)​​

​​2. /etc/issue.net:登录前提示(远程SSH)​​

​​3. /etc/motd:登录后提示(静态内容)​​

​​4. /etc/update-motd.d/:动态MOTD(Ubuntu等)​​

🎨 ​​二、高级美化与个性化​​

​​1. ASCII艺术与彩色文本​​

​​2. Neofetch:系统信息美化​​

​​3. 命令行提示符(PS1)定制​​

🔒 ​​三、安全与审计增强​​

​​1. 操作记录(PROMPT_COMMAND)​​

​​2. 关键安全配置​​

💎 ​​四、方法对比与选择建议​​


在Linux服务器中自定义登录提示信息,既能提升用户体验,也能强化系统安全策略。以下是综合多种方法的详细指南,涵盖静态提示、动态内容、安全警告及个性化美化方案:


⚙️ ​​一、核心配置文件与用途​

​1. /etc/issue:登录前提示(本地终端)​
  • ​功能​​:在用户输入用户名前显示,适用于物理控制台登录。
  • ​特殊变量​​:
    • \d:当前日期
    • \s:操作系统名称(如“Ubuntu”)
    • \n:主机名
    • \r:内核版本
    • \t:当前时间
  • ​配置步骤​​:
    sudo vi /etc/issue
    # 示例内容:欢迎登录 \n 服务器 | 内核版本: \r | 当前时间: \t
  • ​注意​​:远程SSH登录默认不显示此内容。
​2. /etc/issue.net:登录前提示(远程SSH)​
  • ​功能​​:需配合SSH配置生效,在输入密码前显示警告或授权声明。
  • ​限制​​:不支持转义字符(如\n仅显示文本,不解析为主机名)。
  • ​配置步骤​​:
    1. 编辑SSH配置:
      sudo vi /etc/ssh/sshd_config
      # 修改或添加:Banner /etc/issue.net
    2. 创建提示文件:
      sudo vi /etc/issue.net
      # 示例:*** 警告!未经授权禁止访问! ***
    3. 重启SSH服务:
      sudo systemctl restart sshd
    4. ​安全提示​​:此处适合添加法律声明,如“所有操作将被监控”。
​3. /etc/motd:登录后提示(静态内容)​
  • ​功能​​:用户成功登录后立即显示,常用于系统公告或路径指引。
  • ​示例内容​​:
    系统维护时间:每周日凌晨2:00-4:00
    日志路径:/var/log/app
    联系管理员:admin@example.com
  • ​配置​​:直接编辑文件 sudo vi /etc/motd
​4. /etc/update-motd.d/:动态MOTD(Ubuntu等)​
  • ​功能​​:通过脚本生成实时系统信息(如负载、内存)。
  • ​配置步骤​​:
    1. 创建自定义脚本:
      sudo vi /etc/update-motd.d/99-custom
    2. 脚本内容示例:
      #!/bin/bash
      echo "---- 系统状态 ----"
      echo "运行时间: $(uptime -p)"
      echo "内存使用: $(free -h | awk '/Mem/{print $3"/"$2}')"
    3. 赋予执行权限:
      sudo chmod +x /etc/update-motd.d/99-custom
    4. ​优先级​​:脚本按文件名数字顺序执行(建议用99-前缀确保最后显示)。

🎨 ​​二、高级美化与个性化​

​1. ASCII艺术与彩色文本​
  • ​工具推荐​​:
    • ​ASCII生成器​​:Patorjk 输入文本生成字符画(仅英文)。
    • ​图片转ASCII​​:使用 Img2Motd 将图片转为终端可显示的彩色文本(需控制图片尺寸<100x100)。
  • ​应用方法​​:将生成的ASCII内容保存到 /etc/motd 或动态MOTD脚本中。
​2. Neofetch:系统信息美化​
  • ​功能​​:动态显示系统信息 + ASCII Logo。
  • ​安装​​:
    # Ubuntu
    sudo apt install neofetch
    # CentOS
    sudo yum install epel-release && sudo yum install neofetch
  • ​自动显示​​:在 /etc/profile.d/ 创建脚本:
    sudo sh -c 'echo "neofetch" > /etc/profile.d/neofetch.sh'
  • ​自定义​​:编辑 ~/.config/neofetch/config.conf 调整显示项(如隐藏GPU、添加内网IP)。
​3. 命令行提示符(PS1)定制​
  • ​文件​​:用户家目录的 ~/.bashrc
  • ​示例​​:
    # 添加至 ~/.bashrc
    PS1="$$\e[32m$$[\u@\h \W]\$$$\e[0m$$ "  # 绿色提示符 + 简略路径
  • ​常用变量​​:
    • \u:用户名
    • \h:主机名
    • \w:完整工作目录路径
    • \$:普通用户显示$,root显示#

🔒 ​​三、安全与审计增强​

​1. 操作记录(PROMPT_COMMAND)​
  • ​功能​​:记录用户执行的每一条命令和时间。
  • ​配置​​(在 ~/.bashrc 中添加):
    PROMPT_COMMAND='echo "$(date "+%Y-%m-%d %H:%M:%S") $(whoami) $(history 1)" >> /var/log/command.log'
  • ​权限管理​​:需确保日志文件可写(建议用syslog集中收集)。
​2. 关键安全配置​
​项目​ ​操作​ ​作用​
​禁用默认MOTD​ sudo truncate -s 0 /etc/motd 或 禁用动态脚本 chmod -x /etc/update-motd.d/* 避免干扰自定义内容
​隐藏敏感信息​ 避免在提示中泄露内核版本、内网IP等细节 减少攻击面
​定期更新提示​ 动态MOTD中整合 apt list --upgradable 输出 提醒及时更新系统

💎 ​​四、方法对比与选择建议​

​方法​ ​适用场景​ ​优势​ ​局限​
/etc/issue.net SSH登录前的法律警告 强制显示,增强安全意识 不支持动态变量
​静态/etc/motd 固定公告(如维护通知) 配置简单,即时生效 内容无法实时更新
​动态MOTD脚本​ 实时系统状态(负载、磁盘) 信息丰富,可定制性强 仅Ubuntu等系统支持
​Neofetch​ 个性化欢迎界面 + 系统概览 视觉效果专业,支持图片 需额外安装依赖
​PS1/PROMPT_COMMAND​ 命令行环境定制与审计 用户级配置,灵活度高 仅对当前用户生效

​操作流程建议​​:

  1. ​基础安全​​:优先配置 /etc/issue.net 添加法律声明。
  2. ​实用信息​​:通过动态MOTD显示系统关键状态(如磁盘剩余空间)。
  3. ​个性体验​​:集成Neofetch提升视觉体验。
  4. ​深度审计​​:启用 PROMPT_COMMAND 记录高危操作。

通过分层设计登录提示信息,既能满足合规要求,又能提升管理效率。动态内容与静态警告结合,配合审计功能,可构建兼顾友好性与安全性的Linux登录环境。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐