
Macに接続してログインしているユーザーを確認する方法
Macをネットワークで共有している場合、特定の時点で誰がMacに接続しているかを知りたいと思うかもしれません。これには、ローカルネットワークを含む様々なネットワークプロトコル経由で現在ログインしているユーザーのリストや、一定期間のユーザーのログイン履歴などが含まれます。Mac OS X ClientはMac OS X Serverほどの詳細な情報を提供しませんが、Mac OS Xのすべてのバージョンに組み込まれている様々なツールを使用することで、ユーザーの接続情報を確認することができます。
アクティビティモニタ、lastコマンド、whoコマンドを使ってアクティブなユーザーアカウントを見つける方法を解説します。これはかなり包括的な機能で、Macに現在接続中またはアクティブにログオンしているすべてのユーザー(バックグラウンドで別のユーザーアカウント、ゲストユーザーアカウント、パブリックフォルダアクセスからの一般的な共有、他のMacとファイル共有するためにローカルネットワーク共有経由で接続しているユーザー、Windows PCまたはLinuxマシンからSMB経由で接続しているネットワークユーザー、SSHおよびSFTP経由のリモートログインなど)が含まれます。
Mac OS Xのアクティビティモニタでユーザーを確認する
基本的なユーザー情報を取得する最も簡単な方法は、管理者ユーザーアカウントでアクティビティモニターを使用することです。この方法では包括的な情報を取得できますが、一部の用途ではデータが少し制限されます。
- Mac OS Xで「アクティビティモニタ」を起動します(/アプリケーション/ユーティリティ/内にあります)。
- 「ユーザー」をクリックすると、ログインしているユーザーごとにリストを並べ替えてグループ化できます。
特定のユーザーアカウントを探している場合は、そのユーザーと、そのユーザーが実行しているすべてのプロセス(アプリ、サービス、あるいは何も実行していないもの)や、使用しているリソースの種類を簡単に見つけることができます。アクティビティモニタの「ネットワーク」タブを選択すると、ユーザーのネットワーク使用状況に関する詳細情報も表示され、Macから自分のMacにファイルをコピーまたは受信しているかどうかを確認できます。
この情報を適切に活用するには、Mac 上に存在するユーザー アカウント (/Users/ フォルダーに存在するユーザー アカウントなど) に関する基本的な理解が必要ですが、ルート/スーパーユーザー アカウント、およびすべての Mac 上でバックグラウンドで実行されているサービスとデーモン エージェントについても理解しておく必要があります。これらのサービスとデーモン エージェントは、ユーザー リストに spotlight、netbios、usbmuxd、locationd、coreaudiod、window server、mdnsresponder、networkd、appleevents などの名前で表示される場合があります。
結局のところ、コマンドラインに慣れている人にとっては、「last」コマンドの方が便利かもしれません。
「last」でMacに接続しているユーザーとログインを一覧表示する
コマンドラインツール「last」は、特定のMacにログインしたユーザーの履歴を、ローカル接続とMacのデフォルト共有プロトコルであるAFPなどのネットワーク接続の両方で簡単に確認できるツールです。「last」の使い方自体は簡単ですが、このユーティリティを最大限に活用し、出力を理解するには、コマンドラインの操作に慣れておく必要があります。
/Applications/Utilities/にあるターミナルアプリを起動し、次のコマンド文字列を入力して、ユーザーログインの完全なリストを表示します。
last
特定のユーザー ログインを検索するには、次のように last の出力を grep に送信します。
last |grep USERNAME
たとえば、ユーザー「OSXDaily」の最後の出力を検索するには、次のコマンドを使用します。
last |grep OSXDaily
これは大文字と小文字を区別するため、ユーザー「osxdaily」は識別されませんが、「OSXDaily」は肯定的な結果を返します。したがって、大文字と小文字を正しく区別するようにしてください。
これにより、次のような出力が生成されます。これにはすべてのログイン日が含まれ、可能であれば、ユーザーがネットワーク接続を介してログインしている場合は接続マシンの IP ソースも含まれます (このスクリーンショットの例では、元の IP は 192.168.1.4 として識別されています)。
IP またはネットワークの起源が表示されない場合は、ユーザーが標準の Mac OS X ログイン プロセス、Fast User Switching、su / sudo、または同様の方法を使用して Mac に直接ログインしていることを示します。
AFP 経由で現在ログインしているユーザーを確認するには、次の最後のコマンド構文を使用することもできます。
last |grep "logged in"
リモート接続またはローカル マシンを介してアクティブにログインしているユーザーのステータスは「まだログイン中」と表示されます。
'last'コマンドに潜在的な問題が発生するのは、ユーザーがSMB/Windowsプロトコル経由でログインしている場合です。このプロトコルはMac OS XでWindows PCとMac間のファイル共有を可能にするためにオプションで有効化されていますが、SMB経由でMacにログインしているユーザーは、'last'コマンドの出力に必ずしも反映されません。そのため、'netstat'を使用するか、この記事の冒頭で説明したように、アクティビティモニタからネットワークアクティビティを参照するなど、他の選択肢がいくつか残されています。
「who」でログイン中のSSH / Telnetユーザーを確認する
最後に、ターミナルから古典的な「who」コマンドを使用して、アクティブな SSH 接続または古い Telnet プロトコルを介して現在 Mac に接続しているユーザーを確認できます。
who
これには、自分のユーザー アカウントのすべてのインスタンスと、Mac 外部の接続を介してログインしているユーザーが表示されます。
Mac に現在ログインしているユーザーを確認する別の方法をご存知ですか?ぜひコメント欄で共有してください!