查看linux登录历史信息

/etc/httpd/logs
access_log文件里面就是登陆记录

编辑/etc/profile文件,在文件末尾加入下面代码:
[root@telecom225 /]# vi /etc/profile

history
USER=whoami
USER_IP=who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'
if [ “$USER_IP” = “” ]; then
USER_IP=hostname
fi
if [ ! -d /var/log/history ]; then
mkdir /var/log/history
chmod 777 /var/log/history
fi
if [ ! -d /var/log/history/ LOGNAME];thenmkdir/var/log/history/ {LOGNAME}
chmod 300 /var/log/history/${LOGNAME}
fi
export HISTSIZE=4096
DT=date +"%Y%m%d_%H:%M:%S"
export HISTFILE=”/var/log/history/ LOGNAME/ {USER}@{USER_IP}_DT”
chmod 600 /var/log/history/${LOGNAME}/history 2>/dev/null

注释: /var/log/history这是记录日志的存放位置,可以自定义。

在/var/log/history下会以每个用户为名新建一个文件夹,
[root@telecom225 /]# cd /var/log/history/

[root@telecom225 history]# ll
total 20
d-wx—— 2 test dennishan 4096 Jul 4 12:06 test
d-wx—— 2 jerryhe jerryhe 4096 Jul 4 14:12 jerryhe

每次用户退出后都会产生以用户名、登录IP、时间的文件,里面包含此用户本次的所以操作

[root@telecom225 history]# cd jerryhe/
[root@telecom225 jerryhe]# ls
jerryhe@180.173.188.252_20130626_14:59:51
jerryhe@180.173.188.252_20130628_14:40:26
jerryhe@180.173.188.252_20130703_09:44:21
jerryhe@180.173.188.252_20130703_11:18:40

  1. 使用w命令查看登录用户正在使用的进程信息

w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括:

用户名称
用户的机器名称或tty号
远程主机地址
用户登录系统的时间
空闲时间(作用不大)
附加到tty(终端)的进程所用的时间(JCPU时间)
当前进程所用时间(PCPU时间)
用户当前正在使用的命令

w命令还可以使用以下选项

-h忽略头文件信息
-u显示结果的加载时间
-s不显示JCPU, PCPU, 登录时间

$ w
23:04:27 up 29 days, 7:51, 3 users, load average: 0.04, 0.06, 0.02
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ramesh pts/0 dev-db-server 22:57 8.00s 0.05s 0.01s sshd: ramesh [priv]
jason pts/1 dev-db-server 23:01 2:53 0.01s 0.01s -bash
john pts/2 dev-db-server 23:04 0.00s 0.00s 0.00s w

2.使用who命令查看(登录)用户名称及所启动的进程

who命令用于列举出当前已登录系统的用户名称。其输出为:用户名、tty号、时间日期、主机地址。

$ who
ramesh pts/0 2009-03-28 22:57 (dev-db-server)
jason pts/1 2009-03-28 23:01 (dev-db-server)
john pts/2 2009-03-28 23:04 (dev-db-server)

如果只希望列出用户,可以使用如下语句:

$ who | cut -d’ ’ -f1 | sort | uniq
john
jason
ramesh

补充:users命令,可用于打印输出登录服务器的用户名称。该命令除了有help和version选项外,再没有其他选项。如果某用户使用了多个终端,则相应的会显示多个重复的用户名。

$ users
john jason ramesh

  1. 随时查看系统的历史信息(曾经使用过系统的用户信息)

last命令可用于显示特定用户登录系统的历史记录。如果没有指定任何参数,则显示所有用户的历史信息。在默认情况下,这些信息(所显示的信息)将来源于/var/log/wtmp文件。该命令的输出结果包含以下几列信息:

用户名称
tty设备号
历史登录时间日期
登出时间日期
总工作时间

$ last jason
jason pts/0 dev-db-server Fri Mar 27 22:57 still logged in
jason pts/0 dev-db-server Fri Mar 27 22:09 - 22:54 (00:45)
jason pts/0 dev-db-server Wed Mar 25 19:58 - 22:26 (02:28)
jason pts/1 dev-db-server Mon Mar 16 20:10 - 21:44 (01:33)
jason pts/0 192.168.201.11 Fri Mar 13 08:35 - 16:46 (08:11)

查看某用户 cat /home/username/.bash_history 的操作历史

  使用root登陆使用last -x可查看用户登陆历史。

  last 命令:

  功能说明:列出目前与过去登入系统的用户相关信息。

  语 法:last [-adRx][-f ][-n ][帐号名称…][终端机编号…]

  补充说明:单独执行last指令,它会读取位于/var/log目录下,

  名称为wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。

  参 数:

  -a 把从何处登入系统的主机名称或IP地址,显示在最后一行。

  -d 将IP地址转换成主机名称。

  -f 指定记录文件。

  -n 或- 设置列出名单的显示列数。

  -R 不显示登入系统的主机名称或IP地址。

  -x 显示系统关机,重新开机,以及执行等级的改变等信息。

  lastlog可简单查看所有用户最后一次的登陆时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值