脚本实现记录所有登录用户的信息,包括用户名、登录时间和登录位置
2013-09-27 09:15
681 查看
有这样一个需求,记录所有登录用户的信息,包括用户名、登录时间和登录位置到/var/log/login,我这里写了两个脚本来实现。需求分析:用户的话无非就是root或者是普通用户;我可以用whoami或者echo $USER命令来查看当前的登录用户[root@kissing ~]# echo $USER
root
[root@kissing ~]# whoami
root
而登录时间的话,使用命令date就可以搞定[root@kissing ~]# date +%y-%m-%d\ %H:%M:%S
13-09-21 00:20:40
而登录位置的话,分两种,一种是本地登录,另一种是远程登录;如何判定用户是从哪里登录呢?[root@kissing ~]# w
00:39:25 up 30 min, 3 users, load average: 0.16, 0.22, 0.18
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.0.102 00:11 27:06 0.20s 0.20s -bash
root pts/1 192.168.0.102 00:12 10:35 0.19s 0.19s -bash
root pts/2 192.168.0.102 00:28 0.00s 0.11s 0.02s w
从这里可以知道,使用w命令可以知道用户登录的位置还有终端,但是究竟哪个才是当前用户的对应的终端信息?有四个管理员登录,而且用户都是root,所以我们无法用user匹配出为宜信息,而不同的只能是tty可以匹配出唯一数据,终端 ------本地终端(tty1-tty6,图形终端的话都是以:开头的),将本地终端都归为本地登录 -------远程终端(ssh),远程登录的为ip_address
登录到linux上后,使用命令ps查看当前的进程[root@kissing ~]# ps
PID TTY TIME CMD
2450 pts/2 00:00:00 bash
2485 pts/2 00:00:00 ps
可以知道我当前运行的进程是bash[root@kissing ~]# ps | grep bash
2450 pts/2 00:00:00 bash
[root@kissing ~]# ps | grep bash | grep -v grep | awk '{print $2}'
pts/2
若是想实现监控功能,还需做的一步就是将改脚本添加到/etc/bashrc文件中################################################################
现在我将两个脚本打包,http://down.51cto.com/data/958043供大家分享!
本文出自 “欧尼” 博客,请务必保留此出处http://zhudiqingyin.blog.51cto.com/4018914/1302425
root
[root@kissing ~]# whoami
root
而登录时间的话,使用命令date就可以搞定[root@kissing ~]# date +%y-%m-%d\ %H:%M:%S
13-09-21 00:20:40
而登录位置的话,分两种,一种是本地登录,另一种是远程登录;如何判定用户是从哪里登录呢?[root@kissing ~]# w
00:39:25 up 30 min, 3 users, load average: 0.16, 0.22, 0.18
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.0.102 00:11 27:06 0.20s 0.20s -bash
root pts/1 192.168.0.102 00:12 10:35 0.19s 0.19s -bash
root pts/2 192.168.0.102 00:28 0.00s 0.11s 0.02s w
从这里可以知道,使用w命令可以知道用户登录的位置还有终端,但是究竟哪个才是当前用户的对应的终端信息?有四个管理员登录,而且用户都是root,所以我们无法用user匹配出为宜信息,而不同的只能是tty可以匹配出唯一数据,终端 ------本地终端(tty1-tty6,图形终端的话都是以:开头的),将本地终端都归为本地登录 -------远程终端(ssh),远程登录的为ip_address
登录到linux上后,使用命令ps查看当前的进程[root@kissing ~]# ps
PID TTY TIME CMD
2450 pts/2 00:00:00 bash
2485 pts/2 00:00:00 ps
可以知道我当前运行的进程是bash[root@kissing ~]# ps | grep bash
2450 pts/2 00:00:00 bash
[root@kissing ~]# ps | grep bash | grep -v grep | awk '{print $2}'
pts/2
若是想实现监控功能,还需做的一步就是将改脚本添加到/etc/bashrc文件中################################################################
现在我将两个脚本打包,http://down.51cto.com/data/958043供大家分享!
本文出自 “欧尼” 博客,请务必保留此出处http://zhudiqingyin.blog.51cto.com/4018914/1302425
相关文章推荐
- 急!查询所有用户两次登录的时间间隔小于5分钟的所有记录,能用自连接实现吗?
- shell脚本记录登录到本机的用户,登录时间和登录位置
- 写了一个作业 实现用户登录和注册的脚本,初学者写的不好,记录一下我的学习经历
- 按时按登录IP记录Linux所有用户操作日志的方法(附脚本)
- 在Linux下记录所有用户的登录和操作日志(脚本)
- 用js实现facebook登录获取用户的信息(包括邮箱)
- SQLSERVER记录登录用户的登录时间(自写脚本)
- 活动目录实战系列十一(脚本实现用户登录显示信息)
- 脚本实现用户登录显示信息
- SQLSERVER记录登录用户的登录时间(自写脚本)
- php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
- php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
- 按时按登录IP记录Linux所有用户操作日志的方法(附脚本)
- 实现“记录用户登录时间和退出时间,同时记录用户IP,并且要记录用户IP对应的省和城市地址”
- php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
- 按时按登录IP记录Linux所有用户操作日志的方法(附脚本)
- 实现“记录用户登录时间和退出时间,同时记录用户IP,并且要记录用户IP对应的省和城市地址”
- 创建并部署一个Servlet,要求在实现用户登录功能,当用户名和密码正确时跳转到欢迎页面,否则提示出错信息
- 针对不同数据库,获取当前用户所有有权限查看的表,以及表的创建时间、更新时间、注释等信息,表中字段的相关信息(包含分页实现)