• Shell登陆信息及修改方法详解

    我们在登录 tty1~tty6 这 6 个本地终端时,会有几行的欢迎界面。这些欢迎信息是保存在哪里的?可以修改吗?当然可以修改,这些欢迎信息保存在 /etc/issue 文件中,我们查看一下这个文件:

    [root@localhost ~]# cat /etc/issue
    CentOS release 6.3 (Final)
    Kernel \r on an \m

    系统在每次登录时,会依赖这个文件的配置显示欢迎界面。在 /etc/issue 文件中允许使用转义符调用相应信息,其支持的转义符可以通过 man agetty 命令查询,如表 1 所示。

    表 1 /etc/issue支持的转义符
    转义符 作 用
    \d 显示当前系统日期
    \s 显示操作系统名称
    \1 显示登录的终端号,这个转义符比较常用
    \m 显示硬件体系结构,如i386、i686等
    \n 显示主机名
    \o 显示域名
    \r 显示内核版本
    \t 显示当前系统时间
    \u 显示当前登录用户的序列号

    在本地终端登录时,因为有 tty1~tty6 这 6 个本地终端(可以通过 Alt+F1 ~ F6 快捷键切换),有时我们会忘记在哪个终端中,所以笔者更习惯加入"\l"选项,例如:

    [root@localhost ~]# cat /etc/issue
    CentOS release 6.3 (Final)
    Kernel \r on an \m \l

    这样我们在本地登陆时,就可以看到到底是在哪个终端中。

    /etc/issue.net

    配置 /etc/issue 文件会在本地终端登录时显示欢迎信息,如果远程登录(如 ssh 远程登录,或 Telnet 远程登录)需要显示欢迎信息,则需要配置 /etc/issue.net 文件。使用这个文件时有两点需要注意:

    • 在 /etc/issue 文件中支持的转义符在 /etc/issue.net 文件中不能使用。
    • ssh 远程登录是否显示 /etc/issue.net 文件中的欢迎信息,是由 ssh 的配置文件决定的。

    如果我们需要 ssh 远程登录可以査看 /etc/issue.net 文件中的欢迎信息,那么首先需要修改 ssh 的配置文件 /etc/ssh/sshd_config,加入如下内容:

    [root@localhost ~]# cat /etc/ssh/sshd_config ...省略部分输出...
    # no default banner path
    #Banner none
    Banner /etc/issue.net
    …省略部分输出…

    这样,在 ssh 远程登录时,也可以显示欢迎信息,只是不能再识别"\d"和"\l"等信息了。

    /etc/motd

    /etc/motd 文件中也是有欢迎信息的,这个文件和 /etc/issue 及 /etc/issue.net 文件的区别是:/etc/issue 及 /etc/issue.net 文件是在用户登录之前显示欢迎信息的;而 /etc/motd 文件是在用户输入用户名和密码,正确登录之后显示欢迎信息的。/etc/motd 文件中的欢迎信息,不论是本地登录,还是远程登录,都可以显示。

    大家需要注意,在国外曾经有黑客入侵服务器,因为服务器上显示的欢迎信息是"welcome..."而免于处罚的案例。所以,我们虽然一直是按照"欢迎信息"进行讲解的,但是这里其实应该写入一些"警告信息", 比如禁止非法用户登录之类的信息。

更多...

加载中...