更改 UNIX 操作系统中的 motd 值

更改 UNIX 操作系统中的 motd 值

我需要使用脚本更改 MOTD 的值,但我不知道应该如何开始。附上 MOTD 样本。

           在此输入图像描述

答案1

要以您在示例中显示的样式生成 MOTD,您可能需要使用该banner命令。您可以将命令的输出提供给它hostname,以获得服务器名称的漂亮横幅。

要使其成为您的 MOTD,您只需将这些命令的输出定向到文件/etc/motd,该文件用于显示 MOTD。

$ ...cmd... > /etc/motd

笔记:我将在下面显示的命令可以交换为...cmd....

例子

$ banner $(hostname)

 #####   ######   #######  #######  #     #  #######   #####    #####   
#     #  #     #  #        #        ##    #  #        #     #  #     #  
#        #     #  #        #        # #   #  #        #        #        
#  ####  ######   #####    #####    #  #  #  #####    #  ####  #  ####  
#     #  #   #    #        #        #   # #  #        #     #  #     #  
#     #  #    #   #        #        #    ##  #        #     #  #     #  
 #####   #     #  #######  #######  #     #  #######   #####    #####   

这一款内衬几乎可以满足您的需求:

$ (banner "server"; \
    printf "Hostname: %s\nDate    : %s\nUptime  :%s\n\n", \
    "$(hostname -s)" "$(date)" "$(uptime)")

 #####   #######  ######   #     #  #######  ######   
#     #  #        #     #  #     #  #        #     #  
#        #        #     #  #     #  #        #     #  
 #####   #####    ######   #     #  #####    ######   
      #  #        #   #     #   #   #        #   #    
#     #  #        #    #     # #    #        #    #   
 #####   #######  #     #     #     #######  #     #  

Hostname: greeneggs
Date    : Thu Apr 24 22:39:23 EDT 2014
Uptime  : 22:39:23 up 3 days,  8:34,  6 users,  load average: 0.80, 1.06, 1.49

印刷盒

除了使用命令行工具banner打印横幅文本之外,您还可以使用另一个名为的帮助工具boxes将任意文本包裹在一个盒子中。

$ boxes -d shell -p a1l2 <(hostname -s)
##############
#            #
#  greeneggs #
#            #
##############

我们可以使用这种方法并将其扩展以完成您想要的操作,如下所示:

$ boxes -d shell -p a1l2 \
    <(banner "server"; \
        printf "Hostname: %s\nDate    : %s\nUptime  :%s\n" \
        "$(hostname -s)" "$(date)" "$(uptime)")
###################################################################################
#                                                                                 #
#                                                                                 #
#   #####   #######  ######   #     #  #######  ######                            #
#  #     #  #        #     #  #     #  #        #     #                           #
#  #        #        #     #  #     #  #        #     #                           #
#   #####   #####    ######   #     #  #####    ######                            #
#        #  #        #   #     #   #   #        #   #                             #
#  #     #  #        #    #     # #    #        #    #                            #
#   #####   #######  #     #     #     #######  #     #                           #
#                                                                                 #
#  Hostname: greeneggs                                                            #
#  Date    : Thu Apr 24 22:54:09 EDT 2014                                         #
#  Uptime  : 22:54:09 up 3 days,  8:49,  6 users,  load average: 0.63, 0.81, 1.09 #
#                                                                                 #
###################################################################################

答案2

如果您想生成动态 MOTD,请查看此最新指南

https://ownyourbits.com/2017/04/05/customize-your-motd-login-message-in-debian-and-ubuntu/

基本上,你必须

1)创建/etc/update-motd.d

2)将你的脚本放在那里

答案3

motd只是一个文件。从man motd

NAME
       motd - message of the day

DESCRIPTION
       The  contents  of  /etc/motd  are  displayed by login(1) after a successful
       login but just before it executes the login shell.

      The abbreviation "motd" stands for "message of the day", and this file has
      been traditionally used for exactly that (it requires much less disk space
      than mail to all users).

FILES
      /etc/motd

从脚本的角度来看,像这样简单的事情就足够了:

#!/bin/sh
printf "     Welcome to $(hostname -s)\n\n" > /etc/motd

相关内容