用户登录或者访问记录

在Linux系统中,有三个主要的日志子系统:

连接时间日志–由多个程序执行,把纪录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和 utmp文件,使系统管理员能够跟踪谁在何时登录到系统。进程统计–由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。

错误日志–由syslogd(8)执行。各种系统守护进程、用户程序和内核通过syslog(3)向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。 常用的日志文件如下:

access-log 记录HTTP/web的传输 acct/pacct 记录用户命令 aculog 记录MODEM的活动 btmp 记录失败的纪录 lastlog 记录最近几次成功登录的事件和最后一次不成功的登录 messages 从syslog中记录信息(有的链接到syslog文件) sudolog 记录使用sudo发出的命令 sulog 记录使用su命令的使用 syslog 从syslog中记录信息(通常链接到messages文件) utmp 记录当前登录的每个用户 wtmp 一个用户每次登录进入和退出时间的永久纪录 xferlog 记录FTP会话

utmp、wtmp和lastlog日志文件是多数重用UNIX日志子系统的关键–保持用户登录进入和退出的纪录。有关当前登录用户的信息记录在文件utmp中;登录进入和退出纪录在文件wtmp中;最后一次登录文件可以用lastlog命令察看。数据交换、关机和重起也记录在wtmp文件中。所有的纪录都包含时间戳。这些文件(lastlog通常不大)在具有大量用户的系统中增长十分迅速。例如wtmp文件可以无限增长,除非定期截取。许多系统以一天或者一周为单位把wtmp配置成循环使用。它通常由cron运行的脚本来修改。这些脚本重新命名并循环使用wtmp文件。通常,wtmp在第一天结束后命名为wtmp.1;第二天后wtmp.1变为wtmp.2等等,直到wtmp. 7。

每次有一个用户登录时,login程序在文件lastlog中察看用户的UID。如果找到了,则把用户上次登录、退出时间和主机名写到标准输出中,然后login程序在lastlog中纪录新的登录时间。在新的lastlog纪录写入后,utmp文件打开并插入用户的utmp纪录。该纪录一直用到用户登录退出时删除。utmp文件被各种命令文件使用,包括who、w、users和finger。

下一步,login程序打开文件wtmp附加用户的utmp纪录。当用户登录退出时,具有更新时间戳的同一utmp纪录附加到文件中。wtmp文件被程序last和ac使用。

1.首先查看当前登录用户:

[root@localhost ~]# who
root     :0           2017-08-04 16:26
root     pts/0        2017-08-04 13:52 (:0.0)
lockey pts/1        2017-08-04 06:32 (172.25.254.36)
第一列是用户名,
第二列是连接的终端,tty表示显示器,pts表示远程连接,
第三列是登陆时间

2.查看登录用户行为:

[root@localhost ~]# w07:46:35 up 2 days, 15:35,  6 users,  load average: 0.03, 0.07, 0.02
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
root     :0        Wed16   ?xdm?  35:59   0.26s /opt/gnome/bin/gnome-session
root     pts/0     Thu13   21:12m  0.07s  0.49s gnome-terminal --working-direct
lockey pts/1     06:32    0.00s  0.49s  0.00s sshd: lockey [priv]
users 表示当前系统登陆用户总数为6。
LOAD AVERAGE 与后面的数字一起表示系统在过去1,5,10分钟内的负载程度,数值越小,系统负载越轻。
从第二行开始构成一个表格,共有8个栏目,分别显示各个用户正在做的事情及该用户所占用的系统资料。
USER:显示登陆用户帐号名。用户重复登陆,该帐号也会重复出现。
TTY:用户登陆所用的终端。
FROM:显示用户在何处登陆系统。
LOGIN@:是LOGIN AT的意思,表示登陆进入系统的时间。
IDLE:用户空闲时间,从用户上一次任务结束后,开始记时。
JCPU:一终端代号来区分,表示在某段时间内,所有与该终端相关的进程任务所耗费的CPU时间。
PCPU:指WHAT域的任务执行后耗费的CPU时间。
WHAT:表示当前执行的任务
当登陆系统用户很多的时候,可以在W后面加上某个用户名,则会查看该用户执行任务的情况

3.查看lockey用户执行任务情况

[root@localhost ~]# w lockey07:40:45 up 2 days, 15:29,  6 users,  load average: 0.07, 0.08, 0.02
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
lockey pts/1     06:32    0.00s  0.48s  0.00s sshd: linfengfeiye [priv]

4.查看登陆用户历史

[root@localhost ~]# last
lockey pts/1        118.113.209.13   Sat Nov  7 06:32   still logged in
root     pts/1        118.113.209.13   Sat Nov  7 06:12 - 06:32  (00:20)
root     pts/4        118.113.209.13   Sat Nov  7 05:15 - 06:11  (00:55)
root     pts/2        118.113.209.13   Sat Nov  7 04:21 - 06:41  (02:20)
halo  pts/5        222.211.247.164  Fri Nov  6 22:16 - 22:36  (00:20)
root     pts/2        222.211.247.164  Fri Nov  6 21:53 - 22:36  (00:42)
root     pts/4        222.211.247.164  Fri Nov  6 19:59 - 23:08  (03:08)
halo  pts/8        222.211.247.164  Fri Nov  6 19:57 - 22:16  (02:18)
root     pts/7        222.211.247.164  Fri Nov  6 19:42 - 22:36  (02:53)
root     pts/6        222.212.68.214   Fri Nov  6 19:39 - 21:40  (02:00)

5.查看halo用户登录历史

[root@localhost ~]# last halo
halo  pts/5        222.211.247.164  Fri Nov  6 22:16 - 22:36  (00:20)
halo  pts/8        222.211.247.164  Fri Nov  6 19:57 - 22:16  (02:18)
halo  pts/6        118.113.236.146  Fri Nov  6 16:39 - 16:43  (00:03)

6.剔除指定用户

比如想踢除lockey这个用户和他的所有开启的程序,危险做法为:

pkill -u lockey
注意:这个命令实际上很危险,要相当小心的执行,负责可能会导致系统崩溃掉!!!

安全的做法是先查看终端号,然后查看该终端执行的所有进程,根据进程号来停止服务
安全剔除用户

ps -ef| grep pts/0
得到用户登录相应的进程号pid后执行.
kill -9 pid

7.重点来了(其实这才是写这篇博客的初衷)

如何消去一个用户或者所有用户的登录信息?

比如说你通过ssh登录了别人的系统之后不想让他查找到你的登录踪迹,那么,接下来就是重点了:

清空访问登陆信息

[root@foundation36  ~]#>/var/log/btmp
#清除登录失败的用户信息,这些信息在未清除前可以通过lastb命令查看
[root@foundation36  ~]#>/var/log/wtmp
#清空一个用户每次登录进入和退出时间的永久纪录的用户信息,这些信息在未清除前可以通过last命令查看

做完上边两步,你就暂时的清空了以前的所有用户登录信息,但是你下次登录之后又会被记录下来,那么怎么办呢,请往下看:

[root@foundation36  ~]# echo '12 * * * * root >/var/log/btmp' > /etc/cron.d/test
#添加定时执行清理动作,频率为每小时的12分清理一次
[root@foundation36  ~]# echo '12 * * * * root >/var/log/wtmp' > /etc/cron.d/test1

如果你想和你的朋友开个玩笑,你也可以通过修改登录信息来误导他,这个有点邪恶额。。

sed 's/lockey/halo/g' -i /var/log/wtmp(btmp)
#修改登录用户名称
sed 's/118.113.209.13/118.113.209.113/g'  -i /var/log/wtmp(btmp)
#修改登录用户的ip

Linux系统中管理用户登录及登录信息的处理相关推荐

  1. LINUX系统中的用户和用户组管理(一)【转】

    本文转载于https://www.cnblogs.com/zhongguiyao/p/9165917.html 一.用户账户管理 Linux/Unix是一个用户.多任务的操作系统:在讲Linux账号及 ...

  2. 深入理解Linux系统中的用户和组账号

    为什么80%的码农都做不了架构师?>>>    一.Linux中的用户和组账号概述     与Windows操作系统相比,Linux系统中的用户和组账号的作用本质上是一样的,同样都是 ...

  3. linux uid 不同用户,Linux系统中每个用户都有一个唯一的UID,超级用户的UID是 。

    Linux系统中每个用户都有一个唯一的UID,超级用户的UID是 . 0.5用分数表示是______,约成最简分数是______.线偏振光在n1和n2介质的界面上发生全反射,线偏振光电矢量的振动方向与 ...

  4. Part1.4——Linux系统中的用户管理

    目录 一.用户及用户组存在的意义 1.用户存在的意义 2.用户组存在意义 三.用户切换 1.用户查看命令 2.用户切换 四.用户涉及到的系统配置文件 五.用户和用户组的建立及删除 1.建立监控用户操作 ...

  5. linux系统中存放用户账号信息的文件是,信息安全技术题库:Linux系统中,用户登录密码的hash是存放在()文件中的。...

    相关题目与解析 目录数据库是指(46).A.操作系统中外存文件信息的目录文件B.用来存放用户账号.密码.组账号等系统 Linux系统下登录过程中,如已在LILO引导中加入了安全机制:restricte ...

  6. Linux系统中的用户管理(一)

    一.用户管理 用户存在的意义: 系统用户即系统的使用者,用户管理是对文件进行管理,用户的存在是为回收权力. 组存在的意义: 组的存在是为了共享权力,组和用户是两个不同的机制. 组的分类: 初始组 用户 ...

  7. 运维Linux系统中的用户管理

    一.用户及用组存在的意义 1)用户存在的意义 系统资源是有限的,如何合理的分配系统资源? 在这个问题解决时必须要有连个资源配合 1.身份        account 2.授权        auth ...

  8. 在linux系统中 创建用户账户的同时,在Linux系统中大批量建立帐户

    在Linux系统中大批量建立帐户 企业如果想在Linux操作系统上部署文件的话,可能需要一次性建立大量的帐户.如为了加强文件的管理力度,需要为每个员工配置一个帐户.如此的话,就可以针对员工进行权限控制 ...

  9. Linux系统中普通用户输入命令后出现“不在sudoers文件中,此事将被报告”的问题

    普通用户输入一些系统命令后出现:不在sudoers文件中,此事将被报告.这是因为当前操作用户的权限不够. ---------------- 解决问题步骤如下: 1.输入命令:"su root ...

最新文章

  1. 【OpenCV】图片操作小结:RAW图转image以及image连续保存
  2. 数据产品设计专题(4)- 程序化交易业务架构模型
  3. jq.validate.js
  4. Error: cmd: Command failed with exit code ENOENT
  5. 这几天又看了Gosu,发现也是蛮有意思
  6. 分布式测试工具Beetle.DT的部署并进行HTTP,SQL,TCP压测
  7. 怎样用CDN防篡改、抗攻击、控内容?一份CDN安全指南请查收
  8. AAAI 2020 | GlobalTrack:简单又强大!视频长期目标跟踪新基线
  9. 索尼android 8,索尼宣布Android 8.0升级名单 Z系列被抛弃
  10. 2022年4月最新面经答案总结(Java基础、数据库、JVM、计网、计操、集合、多线程、Spring)持续更新
  11. html弹跳qq群号代码,抖音上QQ群霸屏消息代码分享_抖音上QQ群霸屏消息代码大全-街机中国...
  12. 关于CSS中 用“rem 在谷歌浏览器下的问题
  13. Python代码样例列表
  14. 腾讯云服务器硬盘价格,腾讯云服务器价格表(CPU/内存/带宽/云硬盘收费标准)...
  15. 新人面试时候需要注意的写法
  16. 小米路由器3G(R3G)刷潘多拉
  17. 非谓语动词 + 情态动词学习笔记
  18. 使用IP代理池伪装你的IP(python)
  19. [论文阅读] Action Semantics Network: Considering the Effects of Actions in Multiagent System
  20. Qt 之 QuaZIP(zip 压缩/解压缩)

热门文章

  1. 如何保证socket长连接
  2. java登录页-视图界面_地图界面-Java集合
  3. Android开发UI之隐藏导航栏
  4. 使用CommandArgument查找数据表行的数据库表record_id
  5. Method breakpoints may dramatically slow down debugging 解决方案
  6. 软件工程作业--评价自己经常使用的输入法
  7. 如何将文字转换成语音?分享两款实用软件
  8. 第八课 k8s网络基础学习-VxLAN基础
  9. 使用Deep Exploration进行STK 模型的转换-材质与贴图
  10. 云原生技术助力混合云架构落地