如何查看连接了哪些用户 & 登录到Mac
如果您在网络上共享您的Mac,您可能有兴趣知道在任何给定时间谁连接到Mac。这可能包括列出当前通过各种网络协议登录的用户,甚至是本地用户,或者可能只是一段时间内用户登录的历史记录。虽然 Mac OS X Client 不提供与 Mac OS X Server 相同级别的信息,但您仍然可以使用所有版本的 Mac OS X 中内置的各种工具来查找用户连接详细信息。
我们将介绍如何通过活动监视器、“last”命令和“who”命令查找活动用户帐户。这是相当全面的,这意味着它将包括当前连接和/或主动登录到 Mac 的所有用户,无论是通过后台的另一个用户帐户、来宾用户帐户、公共文件夹访问的一般共享、通过用于与另一台 Mac 共享文件的本地网络共享,通过 SMB 从 Windows PC 或 Linux 计算机连接的网络用户,通过 SSH 和 SFTP 远程登录,几乎所有内容。
在Mac OS X中使用活动监视器查看用户
获取基本用户详细信息的最简单方法是从管理员用户帐户使用活动监视器。这将是包容性的,但如您所见,数据对于某些用途有点限制:
- 在 Mac OS X 中启动“活动监视器”,位于 /Applications/Utilities/
- 点击“用户”按登录用户对列表进行排序和分组
如果您正在寻找特定的用户帐户,您可以轻松找到该用户以及他们正在运行的所有进程,无论是应用程序、服务还是什么都没有,以及他们使用什么样的资源正在使用。选择“活动监视器”中的“网络”选项卡还将提供有关用户网络使用情况的详细信息,有助于表明他们是否正在将文件从 Mac 复制或接收到自己的文件。
要正确使用此信息,您需要对 Mac 上存在的用户帐户有一些基本了解(即谁在 /Users/ 文件夹中找到),但也要了解根 /超级用户帐户,除了在所有 Mac 后台运行的服务和守护程序代理之外,它们可能会出现在用户列表中,名称包括 spotlight、netbios、usbmuxd、locationd、coreaudiod、window server、mdnsresponder、networkd、appleevents 等其他。
最终,“last”命令可能对熟悉命令行的人更有用。
List Connected Users & Log Ins to the Mac with "last"
命令行工具“last”提供了一种简单的方法来查看用户登录给定 Mac 的历史记录,既可以在本地登录,也可以通过网络连接(例如 AFP,Mac 的默认共享协议) .使用“last”非常简单,但您应该对命令行有一定的了解才能充分利用该实用程序并理解输出。
启动终端应用程序,在/Applications/Utilities/ 中找到并输入以下命令字符串以查看用户登录的完整列表
最后的
要搜索特定的用户登录,请像这样通过grep 发送last 的输出:
last |grep USERNAME
例如,要搜索用户“OSXDaily”的最后输出,您可以使用以下命令:
last |grep OSXDaily
这里区分大小写,所以用户'osxdaily'将无法识别,而“OSXDaily”将返回正面结果,因此请务必使用正确的大小写。
这将产生如下所示的输出,包括所有登录日期,如果可能,如果用户通过网络连接登录,则连接机器的IP源(在这个截图示例中,源IP被识别为192.168.1.4):
如果未显示 IP 或网络来源,则表示用户通过标准 Mac OS X 登录过程、快速用户切换、su / sudo 或类似方式直接登录到 Mac .
通过AFP查看当前登录的用户也可以使用以下最后一个命令语法:
"last |grep登录"
主动登录的用户,无论是通过远程连接还是本地机器,都会显示“仍然登录”作为他们的状态。
当您让用户通过 SMB / Windows 协议登录时,“最后”命令可能会出现问题,该协议在 Mac OS X 中可选择启用以允许 Windows PC 和 Mac 之间的文件共享,并且通过 SMB 登录到 Mac 的用户将不会始终显示如何通过“最后”命令输出。这留下了一些其他选项,比如使用“netstat”,或者对大多数用户来说可能更容易,从活动监视器中浏览网络活动,如本文开头所述。
查看登录SSH / Telnet 用户的“who”
最后,您可以使用终端中的经典“who”命令查看当前通过活动的SSH 连接或过时的Telnet 协议连接到Mac 的用户:
谁
这会显示您自己的用户帐户的所有实例,以及通过 Mac 外部连接登录的用户。
知道另一种查看当前登录Mac 的用户的方法吗?在评论中与我们分享!