10.12 Sierra Supprimer un utilisateur fantôme

jsw55

Membre confirmé
27 Octobre 2010
20
0
Bonjour à tous,
J'ai découvert sur mon iMac un utilisateur fantôme. J'ai mon identifiant Apple sans fermer la session. Le nouvel identiant a écrasé l'ancien (en théorie). L'ancien n'est plus visible et pourtant une fenêtre apparaît régulièrement, me demandant de me connecter sur un compte qui n'existe plus.
Comment supprimer ce fantôme sans passer par une réinstallation de l'OS. Merci pour vos réponses et conseils.
Jack
 
Dernière édition par un modérateur:
Bonjour jsw

Veux-tu une enquête via le Terminal sur la situation des utilisateurs et des dossiers de données existants ?
 
En guise de familiarisation avec le Terminal > voici comment tu vas pouvoir fournir les informations de base -->

- va à : Applications > Utilitaires > lance le «Terminal». Dans la fenêtre ouverte > saisis la commande informative (ce qui est inscrit sous Bloc de code) :​
Bloc de code:
diskutil list
et ↩︎ (presse la touche "Entrée" du clavier pour exécuter la commande)

  • tu vas voir s'afficher le tableau des disques attachés au Mac (en interne / externe) > avec leurs configurations

Poste le retour en copier-coller > en veillant à faire le coller dans un Bloc de code (c'est plus lisible !) par le procédé suivant -->

- en bas de cette page des forums MacGé => utilise le menu ...▾ (à droite du smiley souriant) dans la barre de menus au-dessus du champ de saisie d'un message > sous-menu : </> Bloc de code => tu fais ton coller dans la fenêtre de code et Continuer.

=> ces informations montreront la configuration du disque.
 
Bloc de code:
Last login: Sun Jun 21 21:42:56 on ttys000
Jacques-Widelec:~ jacqueswidelec$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD1           999.3 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
 
Passe la commande :
Bloc de code:
csrutil status

  • qui affiche le statut actuel du SIP (protocole de sécurisation)

Poste le retour. Une activation du SIP rendrait problématique l'exploration de la base de données users du Service d'Annuaire (Open Directory).
 
voici la réponse

Bloc de code:
Jacques-Widelec:~ jacqueswidelec$ csrutil status
System Integrity Protection status: enabled.
Jacques-Widelec:~ jacqueswidelec$
 
SIP activé (enabled).

----------

Pour désactiver le SIP > redémarre > les 2 touches ⌘R (cmd R) tenues pressées de l'écran noir => à la  = démarrage sur l'OS de secours. Tu obtiens un écran affichant une fenêtre de 4 Utilitaires macOS. Va à la barre de menus supérieure de l'écran > Menu Utilitaires > sous-menu : Terminal.

Lance-le et passe la commande :
Bloc de code:
csrutil disable

  • qui désactive le SIP

Cela fait > quitte le Terminal > va à : Menu  > Disque de démarrage > sélectionne Macintosh HD > redémarre dessus.

----------

De retour dans ta session > passe les commandes (copier-coller - une seule à la fois) :
Bloc de code:
sudo ls /private/var/db/dslocal/nodes/Default/users | sed '/^_/ d'
diskutil listUsers / | grep -v '.*[\^\_\].*'
dscl . -list /Users home | grep -v '.*[\^\_\].*'
sudo du -sh /Users/*

  • à validation de la 1ère > une demande de password s'affiche (commande sudo) --> tape ton mot-de-passe de session admin en aveugle - aucun caractère ne se montrant à la frappe - et revalide. Pas besoin de réitérer pour le 2è sudo dans les 5'.
  • la 1ère liste les fichiers identitaires d'utilisateurs à noms pleins
  • la 2è affiche en correspondance nomcourt / nom complet pour les mêmes
  • la 3è affiche en correspondance nomcourt / adresse au dossier d'ouverture de session pour les mêmes
  • la 4è liste & mesure les dossiers domiciles du répertoire des Utilisateurs

Poste tous les retours dans un Bloc de code => on saura tout sur les utilisateurs de ton OS.
 
voici ce que ça donne

Bloc de code:
USERS
-----

Disk: disk0s2
Volume: Macintosh HD1
Mountpoint: /

UID       Short Name                      Long Name
------------------------------------------------------------------------
1         daemon                          System Services
201       Guest                           Utilisateur invité
501       jacqueswidelec                  Jacques Widelec
-2        nobody                          Unprivileged User
0         root                            System Administrator
Jacques-Widelec:~ jacqueswidelec$ dscl . -list /Users home | grep -v '.*[\^\_\].*'
daemon                  /var/root
Guest                   /Users/Guest
jacqueswidelec          /Users/jacqueswidelec
nobody                  /var/empty
root                    /var/root /private/var/root
Jacques-Widelec:~ jacqueswidelec$ sudo du -sh /Users/*
 
Tu as posté les retours des commandes 2 et 3.

- passe les commandes :​
Bloc de code:
sudo ls /private/var/db/dslocal/nodes/Default/users | sed '/^_/ d'
sudo du -sh /Users/*

  • en attendant bien le ré-affichage de l'invite de commande : Jacques-Widelec:~ jacqueswidelec$ pour la seconde qui est lente d'exécution

Poste en complément les retours de ces 2 commandes.
 
voici le retour, j'ai fait comme tu as écrit.
Bloc de code:
Guest.plist
daemon.plist
jacqueswidelec.plist
nobody.plist
root.plist
Jacques-Widelec:~ jacqueswidelec$ diskutil listUsers / | grep -v '.*[\^\_\].*'
USERS
-----

Disk: disk0s2
Volume: Macintosh HD1
Mountpoint: /

UID       Short Name                      Long Name
------------------------------------------------------------------------
1         daemon                          System Services
201       Guest                           Utilisateur invité
501       jacqueswidelec                  Jacques Widelec
-2        nobody                          Unprivileged User
0         root                            System Administrator
Jacques-Widelec:~ jacqueswidelec$ dscl . -list /Users home | grep -v '.*[\^\_\].*'
daemon                  /var/root
Guest                   /Users/Guest
jacqueswidelec          /Users/jacqueswidelec
nobody                  /var/empty
root                    /var/root /private/var/root
Jacques-Widelec:~ jacqueswidelec$ sudo du -sh /Users/*
 38M    /Users/Guest
8,2M    /Users/Jacques
5,2M    /Users/Shared
205G    /Users/jacqueswidelec
Jacques-Widelec:~ jacqueswidelec$ sudo ls /private/var/db/dslocal/nodes/Default/users | sed '/^_/ d'
Password:
Sorry, try again.
Password:
Guest.plist
daemon.plist
jacqueswidelec.plist
 
Commentaire -->

- le seul fichier identitaire d'un utilisateur humain dans la base de données users du Service d'annuaire est jacqueswidelec. plist. Il fait exister pour le Système l'identité du l'utilisateur jacqueswidelec (nomcourt) aka Jacques Widelec (Nom complet) = toi.​
- l'utilisateur Jacques Widelec (= toi) ouvre sa session sur le dossier /Users/jacqueswidelec = le dossier jacqueswidelec (205 Gi = 220 Go) des Utilisateurs.​
- dans le répertoire des Utilisateurs > il y a un dossier de données surnuméraire intitulé Jacques (8,2 Mo = 9 Mo). Ce dossier de données est actuellement orphelin de tout utilisateur > car pour cela il faudrait qu'un fichier identitaire Jacques.plist existât dans la base de données users du Service d'Annuaire => ce qui n'est pas le cas.​

Conclusion : aucun utilisateur fantôme n'existe actuellement dans ton OS (si je fais abstraction des utilisateurs de type "Système" qui échappent à l'affichage graphique mais qui sont tous réguliers). Il n'existe que le dossier de données Jacques d'un utilisateur Jacques dont l'existence a été supprimée. Tu peux supprimer ce dossier de données si tu veux sans aucun problème.

Note : tu auras compris que ce qu'on appelle un "compte d'utilisateur" est la conjonction de 2 facteurs : un fichier identitaire machin.plist dans la base de données users du Sercice d'Annuaire (définissant l'existence logique de l'utilisateur - comme si une carte d'identité était la condition d'existence numérique de l'utilisateur) + un dossier de données machin dans le répertoire Utilisateurs (contenant les données et préférences de l'utilisateur > et lui permettant d'ouvrir une session graphique sur le sous-espace "Bureau" de ce dossier de données).