Listen Sie Benutzerkonten auf dem Mac über die Befehlszeile auf

Mac-Administratoren finden sich möglicherweise in einer Situation, in der sie eine Liste aller Benutzerkonten auf einem bestimmten Mac über die Befehlszeile anzeigen müssen. Wir werden einige Methoden für fortgeschrittene Benutzer prüfen, um alle Konten, sowohl Benutzer als auch System, auf jedem Mac mit einer beliebigen Version der Mac OS X-Systemsoftware aufzulisten.

Ein paar vorläufige grundlegende Ansätze hierzu wären der Zugriff auf den Anmeldebildschirm oder das Auflisten des Inhalts des Verzeichnisses / Users. Wenn ein Benutzerkonto jedoch ausgeblendet ist, wird es nicht auf dem Anmeldebildschirm angezeigt und es ist ebenso einfach, einen Benutzer zu verschleiern der Ordner / Benutzer Darüber hinaus ist das Vorhandensein eines Namens im Verzeichnis / Users / nicht narrensicher, da Sie ein Benutzerkonto löschen können, dieses Benutzerverzeichnis aber beibehalten können. Obwohl diese Ansätze für gelegentliche Mac-Benutzer geeignet sind, die ihre Benutzer auf einem Computer zeigen möchten, sind diese Methoden für die meisten Admin-Anforderungen nicht ausreichend. Wenn Sie jedoch zur Befehlszeile wechseln, können Sie alle Benutzerkonten auf einem Mac anzeigen, unabhängig davon, ob es sich um allgemeine Benutzerkonten aktiver Benutzer, Administratorkonten oder um Systemkonten handelt.

So listen Sie alle Benutzerkonten auf einem Mac über die Befehlszeile auf

Öffnen Sie das Terminal, wenn Sie dies noch nicht getan haben, entweder auf dem lokalen Computer, für den Sie Benutzerkonten auflisten möchten, oder indem Sie eine Verbindung zu einem Remote-Mac herstellen, auf dem die Benutzerkonten angezeigt werden sollen. Wir verwenden dann den Befehl "dscl", der in allen Versionen der Mac OS X-Systemsoftware funktioniert.

Alle Benutzer und Konten auf einem Mac anzeigen

dscl . list /Users

Der Vorteil (oder das Problem) bei diesem Ansatz besteht darin, dass nicht nur alle Benutzerkonten auf einem Mac aufgelistet werden, sondern auch alle Daemon- und Serverprozesskonten angezeigt werden. Dazu gehören Benutzernamen wie Paul, Bob, Jill, aber auch Daemons, Systemkonten und Prozessbenutzer wie networkd, windowserver, daemon, nobody, root, _spotlight, _ard, _appserver, _iconservices und viele mehr.

Wenn die vollständige Liste der Benutzer daher unerwünscht ist, können Sie alle _underscore Daemon- und Prozess-Accounts ganz einfach ausschließen, indem Sie die Ausgabe über grep ausführen, wie wir als nächstes zeigen werden.

Nur Benutzerkonten anzeigen

dscl . list /Users | grep -v '_'

Dieser Befehl filtert alle mit _diesem Präfix versehenen Daemon-Benutzer heraus, bei denen es sich nicht um Benutzerkonten handelt. Sie erhalten eine viel kürzere Liste der zurückgegebenen Benutzernamen, aber Sie finden immer noch drei Benutzernamen, die keine typischen Benutzerkonten sind, aber normalerweise bei Mac OS X-Installationen gefunden werden. Daemon, niemand und root.

Zeigen Sie alle Benutzerkonten, Benutzerverzeichnisse und Benutzer-GECOS-Informationen auf einem Mac an

Ein anderer Ansatz wäre das Anzeigen und Auflisten einer detaillierten Kontenliste von Benutzerkonten, des zugehörigen Benutzerkontenverzeichnisses und des Benutzerkontos GECOS info (normalerweise eine Beschreibung des Kontos oder ein vollständiger Benutzername). Wenn Sie sich wundern, was in der Welt einige der Systemkonten und Benutzerkonten in den oben genannten Listen sind, bietet dieser Ansatz mehr Details, einschließlich der gecos-Beschreibung für jedes Konto (zum Beispiel ist _qtss Benutzer der QuickTime Streaming Server Daemon)

dscacheutil -q user

Die Ausgabe dieses Befehls wird ziemlich umfangreich sein, so dass Sie das Ergebnis mehr oder weniger durchleiten oder in eine Textdatei umleiten möchten, um das Parsen zu erleichtern.

Es gibt wahrscheinlich andere Möglichkeiten, alle Benutzerkonten auf einem Mac anzuzeigen, unabhängig von der Systemversion, wenn Sie eine effektive informative Methode kennen, die hier nicht behandelt wird, teilen Sie sie in den Kommentaren mit.