1 votes

Lecture des fichiers Plist utilisateur depuis /var/db/dslocal/nodes/Default/users

Identifier les comptes utilisateur dans macOS (Catalina) peut être réalisé en utilisant la commande suivante

 dscl . -list /Users | grep -vE '_|root|nobody|daemon|Guest'

Ce qui me donne la sortie ci-dessous. Remarque: hiddenswasti est un compte caché (non visible à l'écran de connexion/bienvenue) tandis que swastibhushandeb est un compte normal. entrez la description de l'image ici

En se référant à un post ici, il est déduit que les fichiers plist spécifiques à l'utilisateur résidant dans var/db/dslocal/nodes/Default/users peuvent être lus en utilisant defaults read ou plutil -p et contiennent des informations précieuses pour déterminer si un compte est caché ou non. entrez la description de l'image ici

Le problème que je rencontre est de développer un code en une seule ligne (en utilisant bash) qui utilise la sortie de la commande dscl détaillée ci-dessus et utilise la sortie générée comme entrée pour plutil -p afin de lire le contenu de hiddenswasti.plist et swastibhushandeb.plist. J'apprécierais de l'aide. Merci d'avance.

3voto

SaxDaddy Points 343

Vous pouvez essayer ceci pour boucler à travers les utilisateurs.

USER_PLIST="/var/db/dslocal/nodes/Default/users"

for user in $(dscl . -list /Users | grep -vE '_|root|nobody|daemon|Guest'); do 
  sudo defaults read ${USER_PLIST}/${user}.plist
done 

Cela configure une boucle for avec votre sortie dscl et envoie ces noms d'utilisateur à defaults. Vous pouvez facilement substituer plutil, si vous préférez. Vous pouvez rendre cela en une seule ligne en utilisant le point-virgule entre les retours à la ligne. Je l'ai laissé de côté pour le rendre facilement lisible.

En espérant que cela vous aide.

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