profile文件详解文件详解
为了方便重复输入很长的命令,bashshell可以在“~/.bash_history”文件(“~/”是家目录,每个用户都是不一样的)中存500个曾经输入过的命令。每一个有自己帐号的用户,在自己的家目录中,都会有“.bash_history”文件。可能会有这种情况,用户在不该输入口令的地方输入了口令,而输入的口令会在“.bash_history”文件中保存下来。而且“.bash_history”文件越大这种可能性也越大。
在“/etc/profile”文件中HISTFILESIZE和HISTSIZE这两行决定了系统中所有用户的“.bash_history”文件可以保存多少命令。
建议把“/etc/profile”文件中的HISTFILESIZE和HISTSIZE都设成一个比较小的值,如:20。
编辑profile文件(vi/etc/profile),把这些行改成:
HISTFILESIZE=20
HISTSIZE=20这样每个用户主目录下的“.bash_history”就最多只能存20个命令。如果黑客试图在用户的“~/.bash_history”文件中发现一些口令,他就没有什么机会了。
last命令命令
last命令用于显示用户最近登录信息。单独执行last命令,它会读取/var/log/wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。
语法:last(选项)(参数)选项:
n-a:把从何处登入系统的主机名称或ip地址,显示在最后一行;
n-d:将IP地址转换成主机名称;
n-f <记录文件>:指定记录文件。
n-n <显示列数>或-<显示列数>:设置列出名单的显示列数;
n-R:不显示登入系统的主机名称或IP地址;
n-x:显示系统关机,重新开机,以及执行等级的改变等信息。
参数:
n用户名:显示用户登录列表;
n终端:显示从指定终端的登录列表。
命令输出字段介绍:
u第一列:用户名
u第二列:终端位置。pts/0 (伪终端) 意味着从诸如SSH或telnet的远程连接的用户.tty (teletypewriter) 意味着直接连接到计算机或者本地连接的用户
u第三列:登录ip或者内核。如果你看见:0.0 或者什么都没有,这意味着用户通过本地终端连接。除了重启活动,内核版本会显示在状态中。
u第四列:开始时间
u第五列:结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机)
u第六列:持续时间
last命令用了显示用户登录情况,以下是直接显示固定行数的记录:last -10
lastb命令命令
lastb命令用于显示用户错误的登录列表,此指令可以发现系统的登录异常。单独执行lastb命令,它会读取位于/var/log目录下,名称为btmp的文件,并把该文件内容记录的登入失败的用户名单,全部显示出来。
语法:lastb(选项)(参数)
选项:
n-a:把从何处登入系统的主机名称或ip地址显示在最后一行;
n-d:将IP地址转换成主机名称;
n-f<记录文件>:指定记录文件;
n-n<显示列数>或-<显示列数>:设置列出名单的显示列数;
n-R:不显示登入系统的主机名称或IP地址;
n-x:显示系统关机,重新开机,以及执行等级的改变等信息。
参数:n用户名:显示中的用户的登录列表;n终端:显示从指定终端的登录列表。
首次运行lastb命令会报下的错误:
lastb: /var/log/btmp: No such file or directory
Perhaps this file was removed by the operator to prevent logging lastb info.
只需建立这个不存在的文件即可。
touch /var/log/btmp
使用ssh的登录失败不会记录在btmp文件中。
lastb | head
lastlog命令
命令lastlog命令用于显示系统中所有用户最近一次登录信息。
lastlog文件在每次有用户登录时被查询。可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log/lastlog的内容。它根据UID排序显示登录名、端口号(tty)和上次登录时间。如果一个用户从未登录过,lastlog显示**Never logged**。注意需要以root身份运行该命令。
语法:lastlog(选项)选项:
n-b<天数>:显示指定天数前的登录信息;
n-h:显示召集令的帮助信息;
n-t<天数>:显示指定天数以来的登录信息;
n-u<用户名>:显示指定用户的最近登录信息。
实例:lastlog