在线用户查看相关命令

who

用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。
使用权限:所有使用者都可使用。

  1. [ka@localhost ~]$ who --help
  2. 用法:who [选项]... [ 文件 | 参数1 参数2 ]
  3. 显示当前已登录的用户信息。
  4. -a, --all 等于-b -d --login -p -r -t -T -u 选项的组合
  5. -b, --boot 上次系统启动时间
  6. -d, --dead 显示已死的进程
  7. -H, --heading 输出头部的标题列
  8. -l,--login 显示系统登录进程
  9. --lookup 尝试通过 DNS 查验主机名
  10. -m 只面对和标准输入有直接交互的主机和用户
  11. -p, --process 显示由 init 进程衍生的活动进程
  12. -q, --count 列出所有已登录用户的登录名与用户数量
  13. -r, --runlevel 显示当前的运行级别
  14. -s, --short 只显示名称、线路和时间(默认)
  15. -T, -w, --mesg 用+,- ? 标注用户消息状态
  16. -u, --users 列出已登录的用户
  17. --message 等于-T
  18. --writable 等于-T
  19. --help 显示此帮助信息并退出
  20. --version 显示版本信息并退出
  21. If FILE is not specified, use /var/run/utmp. /var/log/wtmp as FILE is common.
  22. If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.

who -a

  • pts/0 (伪终端) 意味着从诸如SSH或telnet的远程连接的用户
  • tty (teletypewriter) 意味着直接连接到计算机或者本地连接的用户

image.png

w

  1.   功能说明:显示目前登入系统的用户信息。
  2.   语  法:w [-fhlsuV][用户名称]
  3.   补充说明:执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w
  4.   指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。
  5.   参  数:
  6.   -f  开启或关闭显示用户从何处登入系统。
  7.   -h  不显示各栏位的标题信息列。
  8.   -l  使用详细格式列表,此为预设值。
  9.   -s  使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。
  10.   -u  忽略执行程序的名称,以及该程序耗费CPU时间的信息。
  11.   -V  显示版本信息。
  12. -i, --ip-addr display IP address instead of hostname (if possible)

image.png

users

  1. [ka@localhost ~]$ users --help
  2. 用法:users [选项]... [文件]
  3. 根据文件判断输出当前有谁正登录在系统上。
  4. 如果文件未予指定,则使用/var/run/utmp,/var/log/wtmp 是通用的相关文件。
  5. --help 显示此帮助信息并退出
  6. --version 显示版本信息并退出
  7. GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
  8. 请向<http://translationproject.org/team/zh_CN.html> 报告users 的翻译错误
  9. 要获取完整文档,请运行:info coreutils 'users invocation'
  10. [ka@localhost ~]$ users
  11. ka root root

last

该命令用来列出目前与过去登录系统的用户相关信息。指令英文原义:show listing of last logged in users
执行权限 :有些需要特殊权限
指令所在路径:/usr/bin/last
执行last指令时,它会读取位于/var/log目录下名称为wtmp的文件,并把该给文件的内容记录的登录系统的用户名单全部显示出来。默认是显示wtmp的记录,btmp能显示的更详细,可以显示远程登录,例如ssh登录。
utmp文件中保存的是当前正在本系统中的用户的信息。
wtmp文件中保存的是登录过本系统的用户的信息。
第一列:用户名
第二列:终端位置。pts/0 (伪终端) 意味着从诸如SSH或telnet的远程连接的用户.tty (teletypewriter) 意味着直接连接到计算机或者本地连接的用户
第三列:登录ip或者内核 。如果你看见:0.0 或者什么都没有,这意味着用户通过本地终端连接。除了重启活动,内核版本会显示在状态中。
第四列:开始时间
第五列:结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机)
第六列:持续时间

在执行 last 命令时,它默认会读取 /var/log/wtmp 日志文件,这是一个二进制文件,不能直接用 vi 编辑,只能通过 last 命令调用。
所以如果攻击者上来的话,消除证据的最好方式就是删除这个二进制文件,因为不能删除单独的两行内容
image.png
last -f /var/log/btmp = lastb
image.png

lastlog

此命令可以查看登陆过当前系统用户的最近一次登陆时间
lastlog 命令默认是去读取 /var/log/lastlog 日志文件的,这个文件同样是二进制文件,不能直接用 vi 编辑,需要使用 lastlog 命令调用。
image.png