Linux系统中管理用户登录及登录信息的处理
用户登录或者访问记录
在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系统中管理用户登录及登录信息的处理相关推荐
- LINUX系统中的用户和用户组管理(一)【转】
本文转载于https://www.cnblogs.com/zhongguiyao/p/9165917.html 一.用户账户管理 Linux/Unix是一个用户.多任务的操作系统:在讲Linux账号及 ...
- 深入理解Linux系统中的用户和组账号
为什么80%的码农都做不了架构师?>>> 一.Linux中的用户和组账号概述 与Windows操作系统相比,Linux系统中的用户和组账号的作用本质上是一样的,同样都是 ...
- linux uid 不同用户,Linux系统中每个用户都有一个唯一的UID,超级用户的UID是 。
Linux系统中每个用户都有一个唯一的UID,超级用户的UID是 . 0.5用分数表示是______,约成最简分数是______.线偏振光在n1和n2介质的界面上发生全反射,线偏振光电矢量的振动方向与 ...
- Part1.4——Linux系统中的用户管理
目录 一.用户及用户组存在的意义 1.用户存在的意义 2.用户组存在意义 三.用户切换 1.用户查看命令 2.用户切换 四.用户涉及到的系统配置文件 五.用户和用户组的建立及删除 1.建立监控用户操作 ...
- linux系统中存放用户账号信息的文件是,信息安全技术题库:Linux系统中,用户登录密码的hash是存放在()文件中的。...
相关题目与解析 目录数据库是指(46).A.操作系统中外存文件信息的目录文件B.用来存放用户账号.密码.组账号等系统 Linux系统下登录过程中,如已在LILO引导中加入了安全机制:restricte ...
- Linux系统中的用户管理(一)
一.用户管理 用户存在的意义: 系统用户即系统的使用者,用户管理是对文件进行管理,用户的存在是为回收权力. 组存在的意义: 组的存在是为了共享权力,组和用户是两个不同的机制. 组的分类: 初始组 用户 ...
- 运维Linux系统中的用户管理
一.用户及用组存在的意义 1)用户存在的意义 系统资源是有限的,如何合理的分配系统资源? 在这个问题解决时必须要有连个资源配合 1.身份 account 2.授权 auth ...
- 在linux系统中 创建用户账户的同时,在Linux系统中大批量建立帐户
在Linux系统中大批量建立帐户 企业如果想在Linux操作系统上部署文件的话,可能需要一次性建立大量的帐户.如为了加强文件的管理力度,需要为每个员工配置一个帐户.如此的话,就可以针对员工进行权限控制 ...
- Linux系统中普通用户输入命令后出现“不在sudoers文件中,此事将被报告”的问题
普通用户输入一些系统命令后出现:不在sudoers文件中,此事将被报告.这是因为当前操作用户的权限不够. ---------------- 解决问题步骤如下: 1.输入命令:"su root ...
最新文章
- 【OpenCV】图片操作小结:RAW图转image以及image连续保存
- 数据产品设计专题(4)- 程序化交易业务架构模型
- jq.validate.js
- Error: cmd: Command failed with exit code ENOENT
- 这几天又看了Gosu,发现也是蛮有意思
- 分布式测试工具Beetle.DT的部署并进行HTTP,SQL,TCP压测
- 怎样用CDN防篡改、抗攻击、控内容?一份CDN安全指南请查收
- AAAI 2020 | GlobalTrack:简单又强大!视频长期目标跟踪新基线
- 索尼android 8,索尼宣布Android 8.0升级名单 Z系列被抛弃
- 2022年4月最新面经答案总结(Java基础、数据库、JVM、计网、计操、集合、多线程、Spring)持续更新
- html弹跳qq群号代码,抖音上QQ群霸屏消息代码分享_抖音上QQ群霸屏消息代码大全-街机中国...
- 关于CSS中 用“rem 在谷歌浏览器下的问题
- Python代码样例列表
- 腾讯云服务器硬盘价格,腾讯云服务器价格表(CPU/内存/带宽/云硬盘收费标准)...
- 新人面试时候需要注意的写法
- 小米路由器3G(R3G)刷潘多拉
- 非谓语动词 + 情态动词学习笔记
- 使用IP代理池伪装你的IP(python)
- [论文阅读] Action Semantics Network: Considering the Effects of Actions in Multiagent System
- Qt 之 QuaZIP(zip 压缩/解压缩)