Linux 登陆欢迎提示信息的设置

2019/06/12 Linux

Linux 登陆欢迎提示信息的设置

1、/etc/issue

/etc/issue 本地登陆显示的信息,本地登录前会提示。

先看下这个文件的内容:

#cat /etc/issue
Red Hat Enterprise Linux Server release 6.8 (Santiago)
Kernel \r on an \m

字符都可以看得懂,但是 \r、\m 是什么意思呢,通过 man pam_issue 可以看出这些转义字符的意思。

字符 含义
\d 本地端时间的日期
\l 显示当前tty的名字即第几个tty
\m 显示硬体的架构 (i386/i486/i586/i686…)
\n 显示主机的网路名称
\o 显示 domain name
\r 当前系统的版本 (相当于 uname -r)
\t 显示本地端时间的时间
\u 当前有几个用户在线
\s 当前系统的名称
\v 当前系统的版本

2、/etc/issue.net

/etc/issue.net 网络登陆显示的信息,登录后显示,ssh登陆需要由 sshd 配置。

若通过远程本文设备(如通过ssh或telnet等)登录,则显示该文件的内容。

其主要内容和 /etc/issue 类似,可以根据需求调整。

3、/etc/motd

/etc/motd 常用于通告信息,如计划关机时间的警告等,登陆后的提示信息,也是用得最多的情况,也是最能玩出花的配置。

它和 issue 的区别在于,后者会在登陆账号前提示,前者会在登陆后出现。

最简单的用法 就是声明机器主权,这对于公司内部的虚拟机来说很重要,登进去弹出一个声明,就不会随意操作了,其次对于网络维护也有极大的作用。

/**
 * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
 * │Esc│   │ F1│ F2│ F3│ F4│ │ F5│ F6│ F7│ F8│ │ F9│F10│F11│F12│ │P/S│S L│P/B│  ┌┐    ┌┐    ┌┐
 * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘  └┘    └┘    └┘
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
 * │~ `│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ BacSp │ │Ins│Hom│PUp│ │N L│ / │ * │ - │
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
 * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│ | \ │ │Del│End│PDn│ │ 7 │ 8 │ 9 │   │
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │
 * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter  │               │ 4 │ 5 │ 6 │   │
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐     ├───┼───┼───┼───┤
 * │ Shift  │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│  Shift   │     │ ↑ │     │ 1 │ 2 │ 3 │   │
 * ├─────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ E││
 * │ Ctrl│    │Alt │         Space         │ Alt│    │    │Ctrl│ │ ← │ ↓ │ → │ │   0   │ . │←─┘│
 * └─────┴────┴────┴───────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
 */

4、ssh 登陆的配置

使用ssh登录时,会不会显示 issue 信息由 sshd 服务的 sshd_config 的 Banner 属性配置决定,虽设置了 Banner 属性但并未对issue.net 中的 \r 和 \m 等内容进行转义,而是直接显示。如何正常转义,有待下一步的操作。

注意,改完 sshd_config 配置后要重置服务,service sshd restart

5、当提示信息遇上 ANSI_Escape_color

由于工作的原因,曾经接触过 ANSI_Escape_color,这是一个通用的用于显示的颜色标准,其格式比较复杂,类似于 \033[显示方式;前景色;背景色m $str \033[0m

看到上一个键盘的登陆提示信息,结合最近的「RGB就是天」,那么我们可不可以做个 RGB键盘 放为登陆提示信息,结论是:可行的,但要对 ANSI_Escape_color 和 vi输入不可见字符有一定的了解。

可以先去看下相关使用:

知道了原理就很好做。

结果如图所示:

其在 vi 中显示为:

下一步目标是通过正则或者简单的匹配原则,对每个字符进行随即着色,这需要用到序列化的操作,最好加上随机元素。

Search

    Table of Contents