10.11 El Capitan Ouverture de session impossible

Bonsoir Macomaniac,
Je ne peux utiliser que El Capitan sur mon vieux macbook pro et j'imagine que concernant ton deuxième point, un script de lancement de commandes via terminal sur clé usb serait une chose possible ?
Parce que du coup, pas besoin d'être un ténor en codage, il suffit de préparer ça à l'avance, je me fais flipper tout seul ... ^^'
 
Suppose que ton nom d'utilisateur soit emynona. Et qu'un malandrin crée un compte toto via la suppression du fichier .AppleSetupDone dans le terminal de la session de secours. Une fois la session toto ouverte dans l'OS démarré > il lui faut passer la commande :
Bloc de code:
sudo chown -R toto:staff /Users/emynona

  • pour transformer le propriétaire du dossier emynona des Utilisateurs et de tous ses contenus => en : toto. Le nom du dossier emynona n'est pas changé ; ce qui est changé > ce sont les autorisations sur le dossier et ses contenus. En somme : tout devient comme si le dossier emynona avait été créé par toto > qui peut s'y balader avec le Finder de sa session et en lire les fichiers.

Soit ! --> mais ensuite le malandrin doit effacer ses propres traces. Il va donc depuis la session toto encore passer la commande :
Bloc de code:
sudo chown -R emynona:staff /Users/emynona

  • qui restaure emynona en propriétaire récursif du dossier emynona des Utilisateurs et de tous ses contenus.

Jusque là rien de bien sorcier. Mais pour effacer complètement les traces d'intrusion --> il faut à présent que toto supprime l'existence du compte toto qui a été créé dans l'OS via la suppression initiale du fichier .AppleSetupDone.

Il va donc réouvrir la session de secours > et passer une commande :
Bloc de code:
rm -rf /Volumes/"Macintosh HD"/Users/toto

  • qui supprime le dossier domiciliaire toto du répertoire des Utilisateurs de Macintosh HD

Soit ! --> mais cela ne supprime en rien l'existence de l'utilisateur toto dans l'OS. Car cette existence se trouve définie pour le Système par un fichier identitaire toto.plist existant dans la base de données users de l'Open Directory (Service d'Annuaire) at: /Volumes/"Macintosh HD"/private/var/db/dslocal/nodes/Default/users/toto.plist

  • il faut donc que toto passe la commande de suppression de ce fichier toto.plist :
Bloc de code:
rm /Volumes/"Macintosh HD"/private/var/db/dslocal/nodes/Default/users/toto.plist

  • pour supprimer l'existence de l'utilisateur toto et faire qu'il ne soit plus affiché à l'écran de connexion ou dans la colonne de gauche du panneau Utilisateurs & groupes des Préférences Système.
 
Soit ! --> mais la création du compte toto > a aussi inscrit le nom de l'utilisateur toto dans la base de données du groupe admin de l'Open Directory at: /Volumes/"Macintosh HD"/private/var/db/dslocal/nodes/Default/groups/admin.plist. Les choses se corsent ici : le nom de toto est inscrit pour une clé intitulée users > dans un tableau (array) de valeurs de chaînes (strings) > dudit fichier admin.plist.

il faut donc que toto passe la commande d'édition du tableau du groupe admin dans le fichier base de données admin.plist. Ce par la commande :
Bloc de code:
/usr/libexec/PlistBuddy -c "delete :'users:2'" /Volumes/"Macintosh HD"/private/var/db/dslocal/nodes/Default/groups/admin.plist

  • à partir de la spéculation que > dans le tableau de la clé users --> root possède le rang 0 (ou 1er rang) > emynona possède le rang 1 (ou 2è rang) > toto possède le rang 2 (ou 3è rang)

Je demande ici : tu en connais beaucoup des "techniciens du terminal" qui savent que l'existence d'un utilisateur toto est définie par un fichier toto.plist présent dans la base de données users du Service d'Annuaire : /Volumes/"Macintosh HD"/private/var/db/dslocal/nodes/ Default/users/toto.plist ? - et qui savent que ledit toto se trouve de surcroît inscrit dans un tableau de la clé users du fichier admin.plist qui est la base de données admin pour le Service d'Annuaire ? - et qu'il faut recourir au rare utilitaire PlistBuddy (à la syntaxe des plus ingrate) pour supprimer l'unique entrée toto dans ce tableau admin ? - sachant qu'à partir d'une session de secours > on ne peut pas recourir à une commande dscl (directory_service_command_line_utility) - d'un usage moins ingrat mais inutilisable faute d'un démarrage des services ad hoc dans l'OS ?

  • il ne sagit plus ici de savoir passer une commande (ce qui somme toute n'est qu'une question de routine technique - comme pour toute technique) --> il faut penser la « raison des effets » : qu'est-ce qui fait qu'un utilisateur existe dans l'OS d'un volume de démarrage ? - qu'est-ce qui fait que cet utilisateur existant > existe avec un statut admin ? - càd. il faut concevoir une « théorie » et l'avoir validée au préalable.

Je peux te passer une commande de simple lecture > qui vérifiera le tableau admin dans la base de données des administrateurs pour l'OS de ton volume de démarrage. Il sera aisé de voir s'il y a une entrée excédentaire qu'un intrus aurait oublié d'effacer...
 
Dernière édition par un modérateur:
Wouah merci pour tes lumières, c'est intéressant et instructif :)
Je veux bien tenter la commande de simple lecture dont tu me parles, car je ne sais toujours pas comment mon mdp a été effacé, je n'ai en effet dans mon entourage proche, aucune personne capable de faire ça…
Un ami m'a évoqué un troyen mais ça n'est que supposition…
 
Va à : Applications > Utilitaires > lance le Terminal. Saisis la commande (copier-coller) :
Bloc de code:
sudo defaults read /private/var/db/dslocal/nodes/Default/groups/admin.plist users

  • et ↩︎ (presse la touche "Entrée" du clavier pour exécuter la commande) --> une demande de password s'affiche (commande sudo) : tape ton mot-de-passe de session admin en aveugle - aucun caractère ne s'affichant à la frappe - et revalide
  • la commande affiche le tableau des administrateurs associé à la clé users dans le fichier base de donnée admin.plist du Service d'Annuaire

Tu vas bien voir s'il y a un nom inattendu dans la liste...
 
  • J’aime
Réactions: emynona
Merci, et ouf, pas d'autre nom… Du coup, je suppose que mes recherches vont s'orienter vers une infection de mon dd par un virus… ;)
 
Merci, et ouf, pas d'autre nom… Du coup, je suppose que mes recherches vont s'orienter vers une infection de mon dd par un virus… ;)
Non, ça c'est avec un PC.

En cas de problème, installes et lances Malwarebytes, un clic sur Scan Now et il devrait faire le ménage. Pour éviter les PUBS intempestives tu installes uBlock Origin dans tous tes navigateurs et là tu pourras respirer. Le lien générique pour les autres navigateurs... https://www.ublock.org. Si tu as Adblock et Adblock+, tu les vires, ils laissent passer volontairement de la PUB pour se rétribuer et uBlock sera bien meilleur.
 
Bonsoir Macomaniac, j’ai sensiblement le même problèmes qu’en début de conversation et j’aimerai avoir tes lumières sur ce qui arrive à mon mac, j’ai malencontreusement mouillé mon ordi, je l’ai donc directement éteints en m’intenant la touche démarrage, une fois rallumé, mon mot de passe ne fonctionnais plus, j’ai donc suivis toutes les manips que tu proposes et je l’ai changé mais rien n’y fait, je n’ai malheureusement aucune sauvgarde, mes disques durs on l’air intact (plusieurs vérifications sur l’utilitaire) et j’ai remarqué que mon disque Macintosh HD été chiffré,et le nouveau mot de passe que j’ai mis fonctionne quand je monte l’envoyer disque Macintosh HD ... je suis un peu largué je dois l’admettre parceque rien ne sous entends la présence d’un problème matériel mais plutôt un problème système, j’espere que quelqu’un pourra m’aider je commence réellement à désespérer ...
 
Bonjour H-Trooper

Si tu démarres les 2 touches ⌘R (cmd R) pressées (= démarrage sur l'OS de secours du disque) -->

- est-ce que tu vois s'afficher une  directe > une barre de chargement (opération assez longuette) > enfin une fenêtre de 4 Utilitaires macOS (= session de secours) ?​
 
Allons bon : ce n'est pas banal.

Le procédé alternatif est le suivant : tu re-démarres pareil en mode Recovery et tu lances le «Terminal» pareil. Dans la fenêtre qui s'affiche :

- a) tu saisis d'abord la commande (purement informative) :​
Bloc de code:
ls /Volumes
et ↩︎ (le "l" de "ls" est la minuscule de la lettre "L", pas le chiffre "1") > en retour, tu vois s'afficher la liste des noms de volumes actuellement montés des disques attachés à ton Mac > c'est juste pour que tu aies sous les yeux l'intitulé exact du volume monté de ton OS. Le nom standard est : Macintosh HD et je vais le prendre en exemple. Quand un intitulé comporte un espace central, cet espace doit être "échappé" dans une commande pour que la ligne de la commande ne soit pas cassée. Le procédé le plus facile est la mise entre "" droits, ce qui donne : "Macintosh HD"
- b) tu saisis la commande (opératoire) :​
Bloc de code:
rm /Volumes/"Macintosh HD"/private/var/db/.AppleSetupDone
et ↩︎. Respecte l'espace entre rm et /Volumes----. Ne crée aucun espace à partir de la première / jusqu'à la fin de la saisie ! Si le nom du volume de ton OS n'est pas Macintosh HD, tu l'inscris à la place de mon "Macintosh HD", sans qu'il faille de "" s'il s'agit d'un nom d'un seul tenant. Cette commande supprime un fichier .AppleSetupDone vide dans l'OS qui agit, en fin de démarrage du Mac, comme preuve par sa simple existence qu'un compte admin a bien été créé et qu'il faut afficher l'écran de login ; l'absence de ce fichier, inversement, vaut comme un signe qu'aucun compte n'est encore paramétré, mais qu'il convient d'afficher l'écran de paramétrage d'un comtpe admin neuf (ce qui ne compromet en rien l'existence de comptes déjà constitués : c'est seulement un procédé de bernage du Système au démarrage).​

Ta commande passée > tu re-démarres > à la fin du chargement du Système > le processus launchd va s'apercevoir de l'absence du fichier .AppleSetupDone et te proposer la suite de panneaux classiques pour paramétrer un premier compte admin (comme si l'OS venait juste d'être installé).

Tu renseignes avec exactitude tous les panneaux : pays, langue, identifiant iCloud etc. mais arrivé à l'ultime panneau te demandant de paramétrer les identifiants d'un compte d'utilisateur de l'OS, tu choisis : Nom Complet = toto ; nom de compte = toto ; mot-de-passe (local) = toto (ne rechoisis surtout pas tes anciens identifiants. L'idée est de créer un compte admin alternatif pour que tu aies une porte d'entrée admin dans l'OS).

Tu vas donc pouvoir (normalement) ouvrir une session alternative (vide mais admin) en tant que toto. Je te rassure : ton compte initial drew avec tes données est absolument intact et n'a pas été touché.

Va alors à : Menu  > Préférences Système > Utilisateurs et groupes > déverrouille le cadenas d'administration avec ton mot-de-passe admin toto > sélectionne ton compte Drew > opte pour la ré-initialisation de son mot-de-passe > par prudence, tu remets le même que l'ancien > enfin, dans le panneau des "Options" tu supprimes l'ouverture automatique de session qui s'est greffée sur le compte toto et tu remets l'ouverture par icônes d'utilisateurs.

=> Tu te délogges de la session toto > à l'écran d'ouverture de session > tu tentes d'ouvrir la session drew habituelle.


Bonjour,

Cela date un peu mais je rencontre un problème similaire que je ne parviens pas à résoudre en suivant cette procédure. Quad je saisis la commande ls /Volumes il m'indique OS X Base System
J'entre ensuite la commande opératoire indiquée sans "" et avec et dans les deux cas il m'indique: no such file or directory.
Vraiment un grand merci pour votre aide parce que ça fait un petit temps que je n'ai plus accès a ma session administrateur et ça me pose de gros soucis.
 
Bonjour
Si je comprends bien tu veux effacer le fichier AppleSetupDone
Pour cela tu dois connaître l’intitulé de ton disque.
Tape
Bloc de code:
diskutil list
Une autre interrogation, FileVault est-il activé ?
 
Merci pour ta réponse. FileVault est activé.
Voila ce que je vois quand je tape cette commande :

IMG_20200325_152107.jpg
 
Dernière édition par un modérateur:
Ton disque se nomme par l’appellation par défaut d’Apple Macintosh HD.
Par contre si FileVault est activé il te faut remonter ton disque depuis l’Utilitaire de disque de ta session de secours (dernier choix de la page d’accueil)
Tu sélectionnes ton volume Macintosh HD puis tu cliques sur le bouton « Monter » dans le bandeau du haut de l’utilitaire. Tu tapes ton mot de passe. De griset, l’intitulé devrait passer au noir.
Ensuite tu suis la procédure de Macomaniac (#6)
Bloc de code:
rm /Volumes/"Macintosh HD"/private/var/db/.AppleSetupDone
En laissant les guillemets sur l’intitulé du disque puisque il y a un espace en Macintosh et HD et que le système doit le considérer comme une entité complète.
Ensuite tu redémarres normalement et tu crées la session toto (il est impératif de ne pas utiliser le nom de ta session sinon tu écrases tout) et tu vas jusqu’au bout de la création d’utilisateur toto en oubliant les point inutiles comme connexion iCloud ou autres.
Mais tu penses bien à cocher la case d’administration sinon tu es bon pour recommencer
 
Ton disque se nomme par l’appellation par défaut d’Apple Macintosh HD.
Par contre si FileVault est activé il te faut remonter ton disque depuis l’Utilitaire de disque de ta session de secours (dernier choix de la page d’accueil)
Tu sélectionnes ton volume Macintosh HD puis tu cliques sur le bouton « Monter » dans le bandeau du haut de l’utilitaire. Tu tapes ton mot de passe. De griset, l’intitulé devrait passer au noir.
Ensuite tu suis la procédure de Macomaniac (#6)
Bloc de code:
rm /Volumes/"Macintosh HD"/private/var/db/.AppleSetupDone
En laissant les guillemets sur l’intitulé du disque puisque il y a un espace en Macintosh et HD et que le système doit le considérer comme une entité complète.
Ensuite tu redémarres normalement et tu crées la session toto (il est impératif de ne pas utiliser le nom de ta session sinon tu écrases tout) et tu vas jusqu’au bout de la création d’utilisateur toto en oubliant les point inutiles comme connexion iCloud ou autres.
Mais tu penses bien à cocher la case d’administration sinon tu es bon pour recommencer
Un tout grand merci! ça fonctionne nickel!!