Les utilisateurs n'apparaissent pas dans / etc / passwd sur Mac OS X

29

En examinant le /etc/passwdfichier, je devrais obtenir une liste de tous les utilisateurs du système. Cependant, lors du vidage du passwdfichier sur Mac OS XI, je ne vois pas mon nom d'utilisateur actuel, mais de nombreuses entrées comme celles-ci:

  _xgridagent: *: 86: 86: Agent Xgrid: / var / xgrid / agent: / usr / bin / false
  _appowner: *: 87: 87: Propriétaire de l'application: / 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: Démon de jeton: / var / empty: / usr / bin / false

Comment se fait-il que je puisse me connecter au shell avec mon nom d'utilisateur et voir ce nom d'utilisateur lorsque je le fais who?

poseid
la source

Réponses:

25

Le /etc/passwdfichier n'est consulté que lorsque le système d'exploitation est en mode mono-utilisateur. L'emplacement "standard" pour les informations de compte sur OS X est le DirectoryService.

Essayez man DirectoryServicepour plus d'informations.

Le bloc de commentaires suivant apparaît en haut de mon fichier de mots de passe:

##
# 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.
##

Dans les versions récentes d'utilitaire d'annuaire OS X a été déplacé vers /System/Library/CoreServices/Directory Utility.

Steve Weet
la source
Je suis allé chercher quelque chose comme ça (Utilitaire d'annuaire) - et il n'est pas là dans mon installation Snow Leopard ... aucune idée de ce qui pourrait me manquer - comment cela est-il arrivé sur le vôtre?
Jonathan Leffler
Hmmm ... Apple dit que " Mac OS X v10.5 comprend deux utilitaires utilisés pour lier des ordinateurs à Microsoft Active Directory. L'utilitaire d'annuaire est une application et dsconfigad est un utilitaire de ligne de commande accessible via Terminal. Les deux peuvent être utilisés pour configurer le Connecteur Active Directory dans l'Utilitaire d'annuaire. "
Jonathan Leffler
Il n'est pas installé à l'emplacement annoncé et n'apparaît pas non plus sous les projecteurs. On dirait que mon fichier de mots de passe me ment.
Steve Weet
Mon fichier de mot de passe indique le même fib. J'ai trouvé dsconfigad.
Jonathan Leffler
2
Ajout du nouvel emplacement de l'utilitaire d'annuaire.
Alan Shutko
10

Il existe un ensemble de services d'annuaire qui conserve les informations. Il existe une série d'outils de ligne de commande ( dsclpour un) pour les manipuler (dur) ou vous pouvez utiliser les Préférences Système pour gérer certains d'entre eux.

Jonathan Leffler
la source
4

OS X n'utilise pas les fichiers UNIX / LINUX / etc / passwd. Au lieu de cela, il le stocke dans NetInfo. La commande utilisée pour interagir avec NetInfo est l'utilitaire de commande du service d'annuaire, ou dscl.

Je ne connais pas les commandes, mais je suis sûr qu'un simple man dsclne ferait de mal à personne.

Sean
la source
2
NetInfo a été remplacé par Directory Services à partir de Mac OS X 10.5 et plus récent.
Chealion
1

Je me rends compte que cela ne répond pas directement à la question, mais je pense que beaucoup de ceux qui se heurtent à cette question voudront simplement savoir comment faire une simple requête pour trouver des informations utilisateur à partir de la ligne de commande. Pour d'autres le long de ce chemin qui ont juste besoin de voir une configuration similaire aux commandes Unix standard, j'ai trouvé cette commande simple utile.

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

Vous pouvez également faire:

dscl . -read /Users/<putusernamehere>

Pour tout voir, mais soyez averti, une version hexadécimale de la photo des utilisateurs apparaîtra à l'écran. Si vous avez besoin d'autres composants, il est utile de voir ce qui s'y trouve si vous pouvez éviter l'élément JPEGPhoto.

Isaac Egglestone
la source