shell环境变量配置文件
一、注销时生效的环境变量配置文件
1、~/.bash_logout
大家可以自己打开看看,这个文件默认是空的。
如果我们想每次登录都把历史命令清空,或者其他需要清除的东西,命令都可以写到这个配置文件里,只要系统一注销登录就会自动执行。
2、~/bash_history
这个前面也提到过,是一个存放历史命令的配置文件。
这个文件内容不建议清空,因为里面存放的都是纯文本文件,就算存10年也不一定有多大,最主要的是可以帮我们进行系统排错,可以查看我们的一些误操作,最主要的如果真是黑客入侵的话,他们会习惯的把历史记录清空,这样对我们来说起码我们能知道我们的系统有人动过。
当然我们设置mysql数据库的密码的时候,历史命令会明文放入历史命令记录里,这样不是十分安全,我们就单个删除就可以了。
二、shell登录信息的三个配置文件
1、本地终端欢迎信息:/etc/issue
我们刚刚登录linux系统的时候,会提示我们一些信息,如图:
那么这些信息就是存放到/etc/issue这个配置文件里。我们打开这个配置文件看下:
是不是就是我们还没有登录的时候shell最顶部显示的信息啊,但是下面一行是用转义符来表示的。
我们来看这些转义符的作用
\d 显示当期系统日期
\s 显示操作系统名称
\l 显示登录的终端号,这个比较常用。
\m 显示硬件体系结构,如i386\i686等。
\n 显示主机名
\o 显示域名
\r 显示内核版本
\t 显示当前系统时间
\u 显示当前登录用户的序列号。
那么经过这些转义符后显示给我们shell界面的就是登录提示信息,当然我们可以自定义这个登录信息,只有修改这个issue配置文件就可以了。
比如我们最常用的把\l加入到登录信息里面,为什么呢?
因为我们本地登录的终端可能有好几个,但是我们自己都不知道我们登录的是哪个终端,所以我们可以把\l参数添加上,这时候我们再登录就能知道我们是在哪个终端登录了。我们修改一下,如图:
修改完我们退出终端从新登录一下,如图:
是不是就显示了登录的终端号了啊。
但是/etc/issue这个配置文件只针对在本地登录服务器,也就是用本机登录,才会显示登录的信息,如果是用远程终端登录就不显示了。
2、远程终端登录信息:/etc/issue.net
A、转义符在/etc/issue.net文件中不能使用
B、是否显示此欢迎信息,由ssh的配置文件/etc/ssh/sshd_config决定,加入”Banner/etc/issue.net”行才能显示,而且需要重启SSH服务才生效。
首先我们打开issue.net文件,如图:
其实这个文件里是有欢迎信息的内容的,但是为什么远程终端登录不显示呢。
上面说了,是否显示不是由这个文件决定,而是有sshd_config文件来决定。
那我们再打开这个配置文件来看看:
我们打开这个配置文件然后在里面找Banner none这行,然后在下面写入:
Banner /etc/issue.net,也就是把欢迎信息的配置文件路径写进来,保存后用service sshd restart重启ssh服务后才会生效。
好的我们从新用远程登录一下,如图:
看,是不是显示登录信息了啊,但是那些转义符就失去作用了,也就是说远程登录的配置文件我们只能写纯文本。
3、登录后欢迎信息:/etc/motd
这个登录信息配置文件不管是本地登录,还是远程登录,都能正常显示此内容信息。不过他是登陆后显示的信息,也就是输入完用户名和密码后登录成功显示的信息。
这个配置文件默认是空的,我们可以自己写入我们想要写入的信息,比如:
Warning, no permissions do not log on!!!
也就是警告:没有权限请不要登录。
保存后我们从新登录下就会显示我们登录后的提示信息了。
当然也没有什么意义,我们知道怎么修改,配置文件是做什么用的也就可以了。
本教程原创作者:mageo,出自每集博客,尊重作者劳动,转载请注明出处:http://www.ql2015.cn,谢谢!