linux服务器如何检查远程用户登陆状态、时间、ip地址等信息

问题:因为某项目组在同一个服务器上都是用的同一个登录名和密码,所以项目管理上无法做到具体谁对服务器进行了某些操作,现在的需求是能具体到某个研发人员在这个服务器上的操作。公司用的内网,IP地址是动态的,也无法从IP地址确定到某个人。所以能否在研发人员登录服务器时,服务器根据登录者的IP地址直接获取到他电脑的名字,这样就可以跟踪到具体的某个人了。

答:先查看有谁登陆,在查看他的MAC信息

[root@ftp local]# who

root     pts/1        2011-11-09 13:49 (192.168.101.122)

root     pts/2        2011-11-09 13:49 (192.168.101.122)

[root@ftp local]# arp 192.168.101.122Address                  HWtype  HWaddress           Flags Mask            Iface

localhost.168.192.in-ad  ether   00:22:71:dc:2e:0b   C                     eth0

能看到MAC地址,有了MAC地址就知道是谁了

一、cat  /var/log/secure

远程用SSH登陆redhat 、centos 服务器,连接记录日志都在/var/log/secure 中,可以在其中查看

COMMAND=/bin/ln -s /etc/issue /etc/issue.NET
Apr 16 12:51:23 localhost sshd[6217]: Accepted password for lss from 192.168.0.131 port 3786 ssh2
Apr 16 12:51:23 localhost sshd[6217]: pam_unix(sshd:session): session opened for user lss by (uid=0)
Apr 16 12:57:55 localhost sshd[6217]: pam_unix(sshd:session): session closed for user lss

==============================

二、finger

finger指令会去查找,并显示指定帐号的用户相关信息,包括本地与远端主机的用户皆可,帐号名称没有大小写的差别。单独执行finger指令,它会显示本地主机现在所有的用户的登陆信息,包括帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话。

-l  列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,还有计划文件和方案文件内容。 
  
    -m  排除查找用户的真实姓名。 
  
    -s  列出该用户的帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话。 

    -p  列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,但不显示该用户的计划文件和方案文件内容。

[root@localhost ~0m]# finger -l
Login: lss                              Name:lss@psbc
Directory: /home/lss                    Shell: /bin/bash
On since Sat Apr 16 12:41 (EDT) on pts/0 from 192.168.0.65
   15 minutes 41 seconds idle
On since Sat Apr 16 10:31 (EDT) on pts/3 from 192.168.0.131
Last login Sat Apr 16 12:51 (EDT) on pts/1 from 192.168.0.131
No mail.
No Plan.

===================================

三、lastlog last

查看某用户 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可简单查看所有用户最后一次的登陆时间


lastlog文件在每次有用户登录时被查询。可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log/lastlog的内容
lastlog文件在每次有用户登录时被查询。可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log/lastlog的内容。它根据UID排序显示登录名、端口号(tty)和上次登录时间。如果一个用户从未登录过,lastlog显示**Never logged**。注意需要以root身份运行该命令,例如:

  rong 5 202.38.64.187 Fri Aug 18 15:57:01 +0800 2000

  dbb **Never logged in**

  xinchen **Never logged in**

  pb9511 **Never logged in**

  xchen 0 202.38.64.190 Sun Aug 13 10:01:22 +0800 2000

  另外,可加一些参数,例如,"last -u 102"命令将报告UID为102的用户;"last -t 7"命令表示限制为上一周的报告。

====================================

四、more /var/log/secure    who /var/log/wtmp

more /var/log/secure
who /var/log/wtmp


查看Linux下的用户登录日志,包括用户登录时所用的主机的ip

切换到username下输入
history
能看到这个用户历史命令,默认最近的1000条

相关内容推荐