93 votes

Comment puis-je lister tous les comptes d'utilisateurs dans le terminal ?

Comment puis-je lister tous les comptes d'utilisateurs locaux dans Terminal (qu'ils soient connectés ou non) ? Les commandes users ou who ne fournit pas cette information. La version d'OS X est 10.6.8.

J'ai vu cette commande suggérée - dscacheutil -q group

Mais il ne répertorie que les groupes d'utilisateurs du domaine et les comptes non locaux.

82voto

flipdoubt Points 4140

Et si

dscacheutil -q user | grep -A 3 -B 2 -e uid:\ 5'[0-9][0-9]'

62voto

user41486 Points 511

Essayez celui-ci. Je l'ai utilisé pour retrouver un compte caché perdu.

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

13voto

antonone Points 220

Les comptes utilisateurs depuis 10.6 sont gérés par OpenDirectory. Les fichiers backend relatifs aux utilisateurs pour OpenDirectory sont ici :

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

Exécuter ls * dans ce répertoire énumérera tous les utilisateurs locaux enregistrés sur le système. Exécution de plutil -p <file>.plist vous permettra de lire certaines propriétés pour le compte d'utilisateur spécifié (c'est-à-dire le chemin du répertoire personnel actuel).

C'est assez peu documenté donc j'accepte les downvotes. Cependant, cette méthode peut être utilisée pour inspecter un système qui n'est pas en fonctionnement, et pour lequel l'utilisateur ne dispose que d'une image disque hors ligne.

8voto

chymb Points 471

dscacheutil renvoie plus que les utilisateurs locaux, par exemple tous les utilisateurs pour lesquels j'ai interrogé les services d'annuaire apparaissent également.

J'ai trouvé cela plus utile :

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

Bien que l'on y trouve aussi des gens comme daemon , nobody y root .

4voto

don Points 41

JMTCW pour recréer une ligne de commande conviviale /etc/passwd équivalent (mais pas tout à fait dans le même ordre) :

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

Ou si vous préférez une sortie séparée par des espaces (mais l'analyse du champ GECOS sera un peu plus compliquée) :

dscacheutil -q user |
    cut -d: -f2 |\
    paste -d " "  - - - - - - - -

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X