Gli utenti non compaiono in / etc / passwd su Mac OS X


29

Esaminando il /etc/passwdfile, dovrei ottenere un elenco di tutti gli utenti nel sistema. Tuttavia, durante il dumping del passwdfile su Mac OS X non vedo il mio nome utente corrente ma molte voci come queste:

  _xgridagent: *: 86: 86: Agente Xgrid: / var / xgrid / agente: / usr / bin / false
  _appowner: *: 87: 87: Proprietario dell'applicazione: / var / empty: / usr / bin / false
  _windowserver: *: 88: 88: WindowServer: / var / svuotare: / usr / bin / false
  _spotlight: *: 89: 89: in primo piano: / var / svuotare: / usr / bin / false
  _tokend: *: 91: 91: Demone token: / var / empty: / usr / bin / false

Come mai posso accedere alla shell con il mio nome utente e vederlo quando lo faccio who?

Risposte:


25

Il /etc/passwdfile viene consultato solo quando il sistema operativo è in modalità utente singolo. Il percorso "standard" per le informazioni sull'account su OS X è DirectoryService.

Prova man DirectoryServiceper ulteriori informazioni.

Il seguente blocco di commenti appare nella parte superiore del mio file di password:

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

Nelle versioni recenti di OS X Directory Utility è stato spostato in /System/Library/CoreServices/Directory Utility.


Sono andato alla ricerca di qualcosa del genere (Directory Utility) - e non è presente nella mia installazione di Snow Leopard ... hai idea di cosa potrei perdere - come è arrivato lì sul tuo?
Jonathan Leffler,

Hmmm ... Apple afferma che " Mac OS X v10.5 include due utilità utilizzate per associare i computer a Microsoft Active Directory. Directory Utility è un'applicazione e dsconfigad è un'utilità della riga di comando a cui si accede tramite Terminale. Entrambe possono essere utilizzate per configurare il Connettore Active Directory in Directory Utility. "
Jonathan Leffler,

Non è installato nella posizione pubblicizzata, né appare sotto i riflettori. Sembra che il mio file di password mi stia mentendo.
Steve Weet,

Il mio file di password dice lo stesso fib. Ho trovato dsconfigad.
Jonathan Leffler,

2
Aggiunta la nuova posizione dell'utilità di directory.
Alan Shutko,

10

Esiste un set di servizi di directory che conserva le informazioni. Esistono una serie di strumenti da riga di comando ( dsclper uno) per manipolarli (intensamente) oppure puoi utilizzare le Preferenze di Sistema per gestirne alcuni.


4

OS X non utilizza i file UNIX / LINUX / etc / passwd. Invece, lo memorizza in NetInfo. Il comando utilizzato per interagire con NetInfo è l'utilità di comando del servizio directory o dscl.

Non ho familiarità con i comandi, ma sono sicuro che un semplice man dsclnon farebbe male a nessuno.


2
NetInfo è stato sostituito da Directory Services a partire da Mac OS X 10.5 e versioni successive.
Chealion,


1

Mi rendo conto che questo non risponde direttamente alla domanda, ma sento che molti che si imbattono in questa domanda vorranno solo sapere come fare una semplice query per trovare le informazioni dell'utente dalla riga di comando. Per gli altri lungo questo percorso ho solo bisogno di vedere una configurazione simile ai comandi unix standard che ho trovato utile questo semplice comando.

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

Puoi anche fare:

dscl . -read /Users/<putusernamehere>

Per vedere tutto tranne che essere avvisato, scaricherà una versione esadecimale della foto dell'utente sullo schermo. Se hai bisogno di altri componenti, è utile vedere cosa c'è se puoi evitare l'elemento JPEGPhoto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.