Benutzer werden unter Mac OS X nicht in / etc / passwd angezeigt

29

Wenn /etc/passwdich die Datei überprüfe, sollte ich eine Liste aller Benutzer im System erhalten. Beim Speichern der passwdDatei unter Mac OS X wird jedoch nicht mein aktueller Benutzername angezeigt, sondern viele Einträge wie die folgenden:

  _xgridagent: *: 86: 86: Xgrid-Agent: / var / xgrid / agent: / usr / bin / false
  _appowner: *: 87: 87: Application Owner: / var / empty: / usr / bin / false
  _windowserver: *: 88: 88: WindowServer: / var / empty: / usr / bin / false
  _spotlight: *: 89: 89: Spotlight: / var / empty: / usr / bin / false
  _tokend: *: 91: 91: Token Daemon: / var / empty: / usr / bin / false

Wie kann ich mich mit meinem Benutzernamen in die Shell einloggen und diesen Benutzernamen sehen, wenn ich das tue who?

poseid
quelle

Antworten:

25

Die /etc/passwdDatei wird nur abgefragt, wenn sich das Betriebssystem im Einzelbenutzermodus befindet. Der "Standard" -Pfad für Kontoinformationen unter OS X ist der DirectoryService.

Versuchen Sie man DirectoryServicefür weitere Informationen.

Der folgende Kommentarblock wird oben in meiner Kennwortdatei angezeigt:

##
# User Database
# 
# Note that this file is consulted directly only when the system is running
# in single-user mode.  At other times this information is provided by
# Open Directory.
#
# This file will not be consulted for authentication unless the BSD local node
# is enabled via /Applications/Utilities/Directory Utility.app
# 
# See the DirectoryService(8) man page for additional information about
# Open Directory.
##

In neueren Versionen von OS X wurde das Verzeichnisdienstprogramm nach verschoben /System/Library/CoreServices/Directory Utility.

Steve Weet
quelle
Ich habe nach so etwas gesucht (Directory Utility) - und es ist in meiner Snow Leopard-Installation nicht vorhanden ... Ich habe eine Idee, was ich vermissen könnte - wie es bei Ihnen angekommen ist?
Jonathan Leffler
Hmmm ... Apple sagt: " Mac OS X 10.5 enthält zwei Dienstprogramme zum Binden von Computern an Microsoft Active Directory. Das Verzeichnisdienstprogramm ist eine Anwendung, und dsconfigad ist ein Befehlszeilendienstprogramm, auf das über Terminal zugegriffen werden kann. Beide können zum Konfigurieren von verwendet werden Active Directory-Connector im Verzeichnisdienstprogramm. "
Jonathan Leffler
Es wird weder an der angegebenen Stelle installiert, noch wird es im Rampenlicht angezeigt. Sieht so aus, als würde mich meine Passwortdatei belügen.
Steve Weet
Meine Passwort-Datei sagt das gleiche fib. Ich habe gefunden dsconfigad.
Jonathan Leffler
2
Der neue Speicherort des Verzeichnisdienstprogramms wurde hinzugefügt.
Alan Shutko
10

Es gibt eine Reihe von Verzeichnisdiensten, in denen die Informationen gespeichert werden. Es gibt eine Reihe von Befehlszeilentools ( dscleines), um sie zu bearbeiten (schwer), oder Sie können die Systemeinstellungen verwenden, um einige davon zu handhaben.

Jonathan Leffler
quelle
4

OS X verwendet die UNIX / LINUX / etc / passwd-Dateien nicht. Stattdessen wird es in NetInfo gespeichert. Der Befehl, der für die Interaktion mit NetInfo verwendet wird, ist das Dienstprogramm für Verzeichnisdienstbefehle (dscl).

Ich kenne die Befehle nicht, aber ich bin mir sicher, dass ein einfacher man dsclBefehl niemanden verletzen würde.

Sean
quelle
2
NetInfo wurde ab Mac OS X 10.5 durch Directory Services ersetzt.
Chealion
3

Mac OS X verwendet Open Directory .

Carl Norum
quelle
1

Mir ist klar, dass dies keine direkte Antwort auf die Frage ist, aber ich bin der Meinung, dass viele, die auf diese Frage stoßen, nur wissen möchten, wie man eine einfache Abfrage durchführt, um Benutzerinformationen über die Befehlszeile zu finden. Für andere auf diesem Pfad, die nur eine ähnliche Konfiguration wie die Standard-Unix-Befehle benötigen, hat sich dieser einfache Befehl als nützlich erwiesen.

dscl . -read /Users/<putusernamehere> UniqueID PrimaryGroupID NFSHomeDirectory UserShell

Sie können auch tun:

dscl . -read /Users/<putusernamehere>

Um alles zu sehen, aber gewarnt zu werden, wird eine hexadezimale Version des Benutzerfotos auf dem Bildschirm angezeigt. Wenn Sie andere Komponenten benötigen, ist es hilfreich zu sehen, was vorhanden ist, wenn Sie das JPEGPhoto-Element vermeiden können.

Isaac Egglestone
quelle