在服务器管理中,查看登录记录是一项重要的安全措施,可以帮助管理员监控谁访问了系统、何时访问以及进行了哪些操作,以下是几种常见的方法来查看服务器的登录记录:
Linux服务器查看登录记录
使用last
命令
last
命令可以显示系统的登录和注销记录,包括用户名、登录时间、会话持续时间等信息。
字段 | 描述 |
username | 登录系统的用户名 |
login_time | 用户登录的时间 |
logout_time | 用户注销的时间 |
session_duration | 会话持续的时间 |
terminal | 使用的终端 |
ip_address | 用户的IP地址 |
示例输出:
root pts/0 192.168.1.100 Fri Oct 5 14:32 15:45 (01:13) alice pts/1 192.168.1.101 Fri Oct 5 15:00 15:45 (00:45) bob pts/2 192.168.1.102 Fri Oct 5 15:05 still logged in
使用w
命令
w
命令可以实时显示当前登录到系统的用户信息,包括他们的活动状态。
w
示例输出:
15:00:01 up 1 day, 2:34, 3 users, load average: 0.20, 0.15, 0.10 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.1.100 14:32 1:13m 0.03s 0.02s -bash alice pts/1 192.168.1.101 15:00 0.00s 0.10s 0.05s -bash bob pts/2 192.168.1.102 15:05 3:35 0.02s 0.01s -bash
查看日志文件
登录记录通常保存在/var/log
目录下的日志文件中,如/var/log/secure
(CentOS/RHEL)或/var/log/auth.log
(Ubuntu/Debian)。
CentOS/RHEL sudo cat /var/log/secure | grep "sshd" Ubuntu/Debian sudo cat /var/log/auth.log | grep "sshd"
示例输出:
Oct 5 14:32:12 myserver sshd[1234]: Accepted password for root from 192.168.1.100 port 22 ssh2 Oct 5 14:32:12 myserver sshd[1234]: pam_unix(sshd:session): session opened for user root by (uid=0) Oct 5 15:00:12 myserver sshd[5678]: Accepted password for alice from 192.168.1.101 port 22 ssh2 ...
Windows服务器查看登录记录
使用事件查看器
Windows服务器通过事件查看器(Event Viewer)来查看登录记录,具体步骤如下:
1、打开“事件查看器”。
2、导航到“Windows日志” > “安全”。
3、在右侧窗格中查找与登录相关的事件,如事件ID为4624(表示成功登录)和事件ID为4634(表示注销)。
查看日志文件
Windows的登录记录也保存在事件日志文件中,可以通过以下路径找到:
C:WindowsSystem32winevtLogsSecurity.evtx
可以使用事件查看器打开此文件并过滤相关事件。
使用第三方工具
Lastlog工具
lastlog
命令可以显示每个用户的最后一次登录时间,适用于Linux系统。
lastlog
示例输出:
Username Last login root Fri Oct 5 14:32:12 -0700 (192.168.1.100) alice Fri Oct 5 15:00:12 -0700 (192.168.1.101) bob Fri Oct 5 15:05:12 -0700 (192.168.1.102) still logged in
Tripwire
Tripwire是一款开源的主机完整性检测工具,可以用来监控文件系统的更改,包括登录记录文件,它可以生成基线快照,并在后续扫描中对比变化。
脚本自动化检查
为了方便管理和监控,可以编写脚本定期检查登录记录,并通过邮件或其他方式报警,使用Python脚本读取日志文件并筛选特定事件:
import re def check_login_records(log_file): with open(log_file, 'r') as file: for line in file: if re.search(r'sshd', line): print(line.strip()) check_login_records('/var/log/secure')
FAQs
Q1:last
命令显示的信息有哪些字段?
A1:last
命令显示的信息包括用户名、登录时间、注销时间、会话持续时间、使用的终端和用户的IP地址,这些信息有助于管理员了解谁在何时通过哪个终端访问了系统。
Q2: 如果我想查看某个特定用户的登录记录,应该怎么做?
A2: 可以使用grep
命令结合last
命令的输出来过滤特定用户的登录记录,要查看用户alice
的登录记录,可以使用以下命令:
last | grep alice
这将只显示与用户alice
相关的登录记录。
小编有话说:查看服务器的登录记录对于系统安全管理至关重要,无论是使用内置的命令如last
和w
,还是直接查看日志文件,亦或是借助第三方工具,都能帮助管理员有效监控和审计系统访问,定期审查这些记录,及时发现异常活动,是保障服务器安全的重要手段。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1491989.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复