Linux查看登录用户
Linux查看登录用户
引言
服务器被多人SSH登录或排查异常连接时,需要看清当前是谁在线、从哪里连进来、在做什么。who、w、id、last几个命令配合,能区分当前身份、在线会话和历史登录记录。
我是谁:whoami
whoami
直接输出当前执行命令的用户名,脚本里判断身份最常用。
查看自己的UID和组
id
输出uid、gid和所属附加组,比whoami信息更全,判断权限时用。
谁在线:who
who
列出所有已登录用户、终端tty、登录时间和来源IP。
在线会话详情:w
w
比who多一列当前正在执行的命令和空闲时长,能看到每个会话在干什么。
历史登录记录:last
last -10
读取/var/log/wtmp,列出最近登录的用户、终端、来源IP和时长,排查入侵看历史。
查特定用户
w root
last root
指定用户名过滤,聚焦某账号的在线和历史。
注意事项
- whoami只看当前身份,who/w看所有在线会话;
- w的JCPU是终端累计时间,PCPU是当前进程时间;
- last依赖wtmp日志,日志轮转后只保留近期;
- 异常来源IP、陌生账号要结合last和/var/log/secure排查;
- 系统服务进程不占登录会话,who看不到;
- 切换用户su后whoami变新用户,但w仍显示原始登录终端。
总结
whoami看当前用户名,id看UID和组,who列在线用户与来源IP,w多显示正在执行的命令,last查历史登录记录。排查时先w看当前在线会话,再last回溯历史,陌生IP和账号结合secure日志,su切换后身份以whoami为准但终端归属原始登录人。