-- TOC --
/etc/issue 与 /etc/motd 作用一致,都是用于显示欢迎信息,区别在于 /etc/issue 是在 login 提示符之前显示,而 /etc/motd 则在在用户成功登录系统之后显示。
这个文件的内容,会在出现login之前显示出来,这个文件内容支持一些转义指令。
\d 本地日期
\l 显示TTY编号
\m 显示CPU的ISA(uname -m)
\n 显示hostname
\o 显示domain name
\r 操作kernel版本(uname -r)
\t 本地时间
\s 操作系统的名称(uname [-s])
\v 操作系统的版本(uanme -v)
getty命令的-i
参数,可以抑制/etc/issue文件的显示!-w
参数,需要用户回车一下,才显示出来,login显示在/etc/issue之后,当然也要回车一下才会出现!-f
指令可以替换掉/etc/issue,命令行中重新指定一个文件issue!
motd:message of today!
这个文件的内容,在login之后显示,没有转义。可以在这个文件里面输入一些自己容易忘记的事情,每次登录都会提醒一下。
网络登录时,也可以显示motd信息,在sshd_config中配置!同下面介绍的/etc/issue.net文件。
注意:欢迎语句最好不要写 welcome 之类的欢迎内容,最好写“非注册用户禁止登陆”之类的警告信息。因为在美国曾有黑客因为入侵的主机写有“欢迎来访”的语句,在庭审的时候被判无罪!
我觉得这个文件的名称,只是一个传统约定,因为这个名称表达出来的含义,是当用户通过网络登录系统之前,要显示的内容,并且不支持转义符号!
要开启这个功能,还需要配置sshd_config中的Banner,在Banner后面指定一个文件名(请参考ssh服务器配置)。我测试了一下下:
$ ssh localhost
Ubuntu 20.04.3 LTS \n \l
xinlin@localhost's password:
远程登录后,/etc/motd文件内容也会显示出来。但Ubuntu还会显示很多自己的信息。
用户登录后自动执行的第一个shell脚本,用来设置一些全局的环境变量,所谓全局,即对所有用户有效。执行完这个脚本后,才回去执行用户自己的环境脚本,如~/.bashrc等。
$ cat /etc/profile
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
...
一些重要的环境变量,比如PATH,PS1和PS2,就可以在此文件中设置。
PS1是主要的提示符,PS2是在有换行输入的时候看到的提示符。
PS1:基本提示符(格数如下,用法如右):PS1="[\u@\h \w]\$"
\#
:下达的第几个命令PS2:附属提示符,一般都设置为“>”。
提示符本质上就是可以做一些转义的字符串,当然可以设置颜色了。
本文链接:https://cs.pynote.net/sf/linux/sys/202111163/
-- EOF --
-- MORE --