linux 查询用户 w, who, last, lastlog

本文介绍了如何使用Unix/Linux命令查询特定用户的数据信息,包括通过id和finger命令获取用户身份和活动详情,利用w和who命令查看当前已登录用户的详细情况,并通过last命令来检查账户的最近登录记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家应该都知道查询一个用户的数据,用id、finger

appledeMacBook-Pro:~ apple$ id
uid=501(apple) gid=20(staff) groups=20(staff),701(com.apple.sharepoint.group.1),12(everyone)

appledeMacBook-Pro:~ apple$ finger
Login    Name                 TTY  Idle  Login  Time   Office  Phone
apple    apple               *con   22d   1 30  20:07
apple    apple                s00    3d   1 30  20:07
apple    apple                s00    3d   2  1  10:01
apple    apple                s00         2  1  10:19
apple    apple                s00     1   2  3  10:00
apple    apple                s00    3d   2  4  12:18

那如果查询当前系统已登陆用户呢?用w和who查询

appledeMacBook-Pro:~ apple$ w
18:54  up 22 days, 22:47, 6 users, load averages: 1.88 2.01 2.06
USER     TTY      FROM              LOGIN@  IDLE WHAT
apple    console  -                30 116  22days -
apple    s000     -                30 116  3days python manage.py shell
apple    s001     -                01 216  3days ./src/redis-server *:6379
apple    s002     -                01 216      - w
apple    s004     -                03 216      3 -bash
apple    s005     -                04 216  3days mongo

appledeMacBook-Pro:~ apple$ who
apple    console  Jan 30 20:07
apple    ttys000  Jan 30 20:07
apple    ttys001  Feb  1 10:01
apple    ttys002  Feb  1 10:19
apple    ttys004  Feb  3 10:00
apple    ttys005  Feb  4 12:18

用last查看每个账户最近登陆时间

appledeMacBook-Pro:~ apple$ last
apple     ttys003  10.0.1.74        Thu Feb 18 15:46 - 15:47  (00:01)
apple     ttys006                   Sat Feb  6 21:57 - 21:57  (00:00)
apple     ttys006                   Sat Feb  6 21:57 - 21:57  (00:00)
apple     ttys005                   Thu Feb  4 12:18   still logged in

### Linux 查看用户登录日志的方法 在 Linux 系统中,可以通过多种方法和命令来查看用户的登录日志。这些日志通常存储在 `/var/log/` 目录下的特定文件中,并可以使用不同的工具进行分析。 #### 使用 `last` 命令 `last` 是一个常用的命令,用于显示最近的用户登录信息。它会读取 `/var/log/wtmp` 文件并输出每次成功登录的时间、地点以及退出时间等信息[^1]。 ```bash last ``` #### 使用 `lastlog` 命令 如果需要更详细的登录历史记录,特别是关于某个具体用户的最后一次登录情况,则可以使用 `lastlog` 命令。此命令能够列出所有用户或者指定用户的最新登录详情[^3]。 ```bash lastlog ``` 对于单个用户的具体查询: ```bash lastlog -u username ``` #### 失败登录尝试 (使用 `lastb`) 为了追踪那些未能成功的登录尝试(比如密码输入错误),可利用 `lastb` 命令。该命令同样依赖于另一个特殊的二进制日志文件——`/var/log/btmp` 来展示失败的访问请求列表[^3]。 注意:由于安全原因,在某些发行版上可能默认禁用了 btmp 的写入功能,请确认其存在与否后再运行下面这条指令。 ```bash sudo lastb ``` #### 实时监控新的登录活动 (`who`, `w`) 除了回顾过去的记录外,还可以即时观察谁现在正连结到您的机器上。“Who am I?” 或者简单地说 “who”,不仅告诉我们目前有哪些人在线;而且当加上参数 `-H` 后还会附带表头以便阅读更加清晰明了。而更为强大的版本则是 'W' 它不但提供了相同的活跃成员名单而且还附加了一些额外的数据如他们正在做什么等等。 实时状态检查示例: ```bash who ``` 或带有更多细节的版本: ```bash w ``` #### 日志文件路径说明 以上提到的各种方式最终都指向几个核心的日志文档位置,主要包括但不限于以下几个方面[^2]: - **/var/log/auth.log**: Ubuntu 和 Debian 类型系统专用的安全认证相关事件集合处; - **/var/log/secure**: RHEL, CentOS 及 Fedora 中保存授权过程中的重要事项的地方; - 更广泛意义上的综合消息汇总则位于 /var/log/messages 下面。 综上所述,通过上述介绍的不同手段组合运用即可满足大部分场景下对 linux 平台上的账户行为审计需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值