Come posso elencare tutti gli account utente nel terminale?

71

Come posso elencare tutti gli account utente locali nel Terminale (se loggato o no?) I comandi users o who non forniscono queste informazioni. La versione di OS X è 10.6.8.

Ho visto questo comando suggerito - dscacheutil -q group

Ma elenca solo i gruppi di utenti di dominio e gli account non locali.

    
posta codecowboy 01.11.2011 - 13:57
fonte

7 risposte

65

Che ne dici di

dscacheutil -q user | grep -A 3 -B 2 -e uid:\ 5'[0-9][0-9]'
    
risposta data 01.11.2011 - 14:32
fonte
37

Prova questo. L'ho usato per trovare l'account nascosto perso.

dscl . list /Users | grep -v '^_'
    
risposta data 09.02.2013 - 13:29
fonte
9

Gli account utente dal 10.6 sono gestiti da OpenDirectory. I file di back-end relativi agli utenti per OpenDirectory sono qui:

/var/db/dslocal/nodes/Default/users

L'esecuzione di ls * in questa directory enumera tutti gli utenti locali registrati sul sistema. L'esecuzione di plutil -p <file>.plist ti consentirà di leggere alcune proprietà per l'account utente specificato (ad esempio il percorso corrente della home directory).

Questo è piuttosto non documentato quindi accetto i downvotes. Tuttavia, questo metodo può essere utilizzato per ispezionare un sistema che non è in esecuzione e per il quale l'utente ha solo un'immagine disco offline.

    
risposta data 26.01.2015 - 10:41
fonte
5

dscacheutil restituisce più degli utenti locali, ad esempio anche gli utenti che ho chiesto ai servizi di directory.

Ho trovato questo più utile:

dscl . list /Users | grep -v "^_"

Anche se restituisce anche i like di daemon , nobody e root .

    
risposta data 19.06.2013 - 13:36
fonte
3

JMTCW per ricreare una riga di comando amichevole /etc/passwd equivalente (sebbene non del tutto nello stesso ordine):

dscacheutil -q user |
    paste -d " "  - - - - - - - - |
    sed 's/^name: //;s/ [^[:space:]]*: /:/g'

O se preferisci un output separato dallo spazio (ma l'analisi del campo GECOS sarà un po 'più complicata:

dscacheutil -q user |
    cut -d: -f2 |\
    paste -d " "  - - - - - - - -
    
risposta data 05.02.2017 - 13:13
fonte
1

Se nessuna directory home dell'utente è stata spostata, verrà eseguito ls /users . Tranne che elenca anche le directory come "Condivise".

    
risposta data 01.11.2011 - 14:36
fonte
-3

Puoi anche digitare:

who che indica chi ha effettuato l'accesso e da dove proviene. Utile se stai cercando qualcuno che sia fisicamente nello stesso edificio o in qualche altro luogo particolare.

w che indica chi ha effettuato l'accesso e cosa stanno facendo. Particolarmente utile: la parte "idle". Questo ti permette di vedere se sono effettivamente lì seduti a digitare le loro tastiere proprio al momento.

    
risposta data 24.08.2016 - 06:26
fonte

Leggi altre domande sui tag