boxmoe_header_banner_img

Hello! 欢迎来到悠悠畅享网!

文章导读

Linux如何配置用户登录欢迎信息


avatar
作者 2025年9月16日 9

9月1日起,人工智能生成合成内容标识、网络攻击事件判定、智能家电语音交互、电动自行车安全等一批涉及网络安全技术、智能家电等领域的国家标准正式实施,为规范新兴产业发展、保障安全提供支撑。

Linux如何配置用户登录欢迎信息

linux系统里,配置用户登录欢迎信息其实远不止是简单地改个文件那么简单,它涉及到系统安全、用户体验,甚至一点点“仪式感”。核心来说,我们主要是通过修改几个特定的系统文件,或者在用户的shell配置文件中加入一些指令,来达到这个目的。这几个文件各有各的职责和显示时机,理解它们之间的差异是关键。

解决方案

要为Linux系统配置用户登录欢迎信息,我们通常会用到以下几个关键文件和方法:

  1. /etc/motd

    (Message Of The Day): 这是最常见、也最灵活的欢迎信息配置方式。它会在用户成功登录系统后显示。motd的意思是“每日消息”,但实际上你可以放任何你想要的信息。

    • 编辑方法: 直接用文本编辑器修改
      /etc/motd

      文件即可。

      sudo vim /etc/motd
    • 内容示例:
      ********************************************* 欢迎来到 MyServer! 请注意:未经授权的访问是被严格禁止的。 系统维护通知:本周五凌晨 2-4 点进行例行维护。 如有疑问,请联系管理员。 *********************************************
    • 动态内容: 很多现代Linux发行版(如ubuntu)会使用
      /etc/update-motd.d/

      目录下的脚本来动态生成

      /run/motd.dynamic

      ,这个文件最终会被链接或复制到

      /etc/motd

      。这样,你就可以编写脚本来显示系统负载、磁盘使用情况、更新信息等。

  2. /etc/issue

    (Local Login Message): 这个文件里的内容会在用户尝试通过本地控制台(比如直接连接到服务器的显示器和键盘)登录系统之前显示。也就是说,在输入用户名和密码之前,你就能看到它。

    • 编辑方法:
      sudo vim /etc/issue
    • 内容示例:
      MyServer (Linux Kernel   on m) Unauthorized access is prohibited.
    • 特殊转义字符:
      /etc/issue

      支持一些特殊的转义序列,可以显示系统信息,比如:

      • d

        :当前日期

      • l

        :当前终端线路

      • m

        :硬件架构

      •  

        :主机名

      • o

        :域名

      •  

        操作系统版本

      • 	

        :当前时间

      • u

        :当前登录用户数量

      • s

        操作系统名称

  3. /etc/issue.net

    (Remote Login Message): 与

    /etc/issue

    类似,但它针对的是远程登录,比如通过ssh连接时。在SSH客户端提示你输入用户名之前,你会看到这个文件的内容。需要注意的是,SSH服务器(sshd)的配置文件

    /etc/ssh/sshd_config

    中需要启用

    Banner /etc/issue.net

    这一行才能生效。

    • 编辑方法:
      sudo vim /etc/issue.net
    • 内容示例:
      Welcome to MyServer SSH Service. This system is for authorized use only.
    • 转义字符:
      /etc/issue

      类似,也支持转义字符。

  4. 用户Shell配置文件(如

    ~/.bashrc

    ,

    ~/.profile

    ,

    ~/.zshrc

    : 这些文件是用户个人配置的一部分,它们在用户登录并启动其默认shell时被执行。你可以在这里添加一些个性化的欢迎信息、ASCII艺术、或者执行一些命令来显示动态信息。

    • 编辑方法:
      vim ~/.bashrc # 或 ~/.profile, ~/.zshrc
    • 内容示例: 在文件末尾添加:
      echo "嘿,$(whoami)!欢迎回来!" echo "当前系统负载:$(uptime | awk -F'load average:' '{print $2}')" # 也可以放一些ASCII艺术,或者使用figlet等工具生成 # echo "  _   _                 " # echo " |  | | _____  ___   _ " # echo " |  | |/ _  / / | | |" # echo " | |  |  __/>  <| |_| |" # echo " |_| _|___/_/___, |" # echo "                 |___/ "
    • 生效: 修改后,需要重新登录或执行
      source ~/.bashrc

      等命令使其立即生效。

为什么我们需要定制登录欢迎信息?它的实际价值在哪里?

说实话,很多人可能觉得这只是个小细节,甚至有些多余。但从我个人的使用经验来看,定制登录欢迎信息,它的实际价值远比表面看起来要大。首先,它是一个非常直接且有效的安全警示。想象一下,一个未经授权的用户尝试登录你的服务器,在输入任何信息前就看到“未经授权访问将被追究法律责任”这样的字眼,这无疑会增加其心理压力,甚至可能直接劝退一部分尝试者。这是一种低成本但高效的预防措施。

其次,对于团队协作或者企业环境,它能充当一个实时的信息发布平台。比如,我曾经在

/etc/motd

里放过即将进行的系统维护通知,或者某个关键服务即将升级的提醒。这样,所有登录的用户都能在第一时间看到,避免了因为信息不对称导致的工作失误。再者,它还能用于系统状态的快速概览。通过动态生成motd,我们可以显示当前的系统负载、磁盘空间、甚至是未处理的更新数量。这对于系统管理员来说,在每次登录时都能快速了解系统健康状况,省去了手动查询的麻烦。最后,别忘了那一点点个性化和品牌识别。一个带有公司logo或者特定欢迎语的登录界面,能够增强团队的归属感,或者让服务器在众多相似的机器中脱颖而出,这在管理大量服务器时,能够帮助快速识别目标。

/etc/motd、/etc/issue 和 shell 配置文件,它们到底有什么区别?

这三者在功能上确实有些重叠,但它们在Linux系统中的作用时机、面向的用户群体以及灵活性上有着本质的区别。理解这些差异,能帮助我们更精准地配置信息。

在我看来,

/etc/issue

/etc/issue.net

就像是系统的“门面”,它们在用户认证之前就显示出来。

/etc/issue

是给那些直接坐在机器前,通过本地终端登录的人看的;而

/etc/issue.net

则服务于通过网络(比如SSH)远程连接的用户。它们的重点在于“预警”和“身份声明”。你可以在这里放上安全警告、系统名称和版本信息,告诉用户“你正在尝试连接的是哪台机器,以及它的基本规矩”。它们通常比较静态,虽然支持一些转义字符来显示系统信息,但不能执行复杂的脚本。

然后是

/etc/motd

,这个文件是在用户成功认证后,但其shell环境完全加载前显示。它更像是你进入一个房间后,主人给你的一张欢迎便签或者公告板。

/etc/motd

的强大之处在于其灵活性和动态性。现代系统通常会通过

/etc/update-motd.d/

目录下的脚本来动态生成

/run/motd.dynamic

,这意味着你可以在这里显示非常丰富、实时的系统信息,比如资源使用、待处理的更新、甚至一些自定义的提示。它的目标是提供“登录后须知”和“实时系统概览”

最后是用户shell配置文件(比如

~/.bashrc

~/.zshrc

)。这完全是用户个人层面的配置,它在用户的shell启动时被执行。你可以把它看作是个人办公桌上的便利贴,或者个人电脑的桌面背景。这里你可以放上任何你个人觉得有用的信息,比如每日一句、个人任务清单、或者一些你常用的命令提示。由于它是在shell环境中执行的,所以你可以运行任何命令,实现高度的个性化和动态内容。但请记住,这里的配置只对当前用户有效,不会影响其他用户。

简单来说:

  • /etc/issue

    /

    /etc/issue.net

    登录前,系统级别,预警和身份声明。

  • /etc/motd

    登录后,系统级别,动态信息和公告。

  • 用户shell配置文件: 登录后,用户级别,个性化和个人工具

如何让我的欢迎信息更“酷”一点?加入动态内容和ASCII艺术?

想要让你的欢迎信息脱颖而出,不再是枯燥的文本,加入动态内容和一些视觉元素绝对是个好主意。这不仅能提升用户体验,也能让你的服务器显得更具个性。

Linux如何配置用户登录欢迎信息

Fliki

高效帮用户创建视频,具有文本转语音功能

Linux如何配置用户登录欢迎信息96

查看详情 Linux如何配置用户登录欢迎信息

对于动态内容,最直接也最强大的方式就是利用

/etc/update-motd.d/

目录。在这个目录下,你可以创建任何可执行的脚本(Bash、python等),这些脚本的输出会被收集起来,最终形成

/etc/motd

的内容。例如,你可以编写一个脚本来:

  • 显示当前的系统负载和内存使用情况 (
    uptime

    ,

    free -h

    )。

  • 报告磁盘空间使用情况 (
    df -h

    )。

  • 检查是否有待处理的系统更新 (
    apt list --upgradable

    yum check-update

    )。

  • 显示当前登录的用户 (
    who

    )。

  • 甚至可以集成一些外部API,比如显示天气预报或者每日新闻摘要(当然,这需要一些网络请求和解析)。

举个例子,你可以在

/etc/update-motd.d/

下创建一个名为

99-custom-info

的脚本:

#!/bin/bash echo "" echo "--- 系统概览 ---" echo "当前时间: $(date)" echo "系统负载: $(uptime | awk -F'load average:' '{print $2}')" echo "磁盘使用: $(df -h / | awk 'NR==2 {print $5}')" echo "----------------" echo ""

别忘了给它执行权限:

sudo chmod +x /etc/motd.d/99-custom-info

至于ASCII艺术,这简直是提升“酷炫度”的杀手锏。你可以直接在文本文件中粘贴预先生成的ASCII艺术,或者使用专门的工具。

  • 手动粘贴: 网上有很多ASCII艺术生成器,输入文字就能生成对应的艺术字。直接复制粘贴到
    /etc/motd

    或你的 shell 配置文件里就行。

  • 使用
    figlet

    toilet

    工具: 这些是命令行工具,可以将普通文本转换成各种字体和风格的ASCII艺术。

    • 首先安装:
      sudo apt install figlet toilet

      (debian/Ubuntu) 或

      sudo yum install figlet toilet

      (centos/RHEL)。

    • 在你的 shell 配置文件(如
      ~/.bashrc

      )中加入:

      echo "" figlet "MyServer" echo "" toilet -f mono12 -F metal "Welcome!" echo ""

      这样每次登录,你都能看到一个漂亮的艺术字标题。

颜色和样式也是让信息更生动的重要手段。你可以使用ANSI转义序列来给文本添加颜色、粗体、下划线等效果。

  • 例如,在
    /etc/motd

    或 shell 脚本中:

    echo -e "警告:这是一个生产环境服务器!" # 红色粗体警告 echo -e "祝您工作愉快!" # 绿色粗体
    [

    是转义序列的开始,

    1

    是粗体,

    31

    是红色前景,

    0m

    是重置所有属性。

不过,在追求“酷炫”的同时,也要注意平衡。不要让欢迎信息过长,或者执行过于耗时的脚本,这会影响登录速度和用户体验。信息应该简洁明了,重点突出,避免喧宾夺宾。



评论(已关闭)

评论已关闭