10.13 High Sierra Attention la root est ouverte

  • Créateur du sujet Créateur du sujet Deleted member 1099514
  • Date de début Date de début
Il faut laisser l’utilisateur root actif avec un mot de passe défini.
Ha j'ai raté qq chose? De quelle manœuvre s'agit-il?
La passe avec les préférences système.

Le bug est que lorsqu’on saisi « root » on active l’utilisateur (comme si on l’avait fait via l’utilitaire d’annuaire) et que le contenu de la case « mot de passe » est défini comme mot de passe.

Si on va dans l’utilitaire d’annuaire définir un autre mot de passe mais qu’on désactive « root », la passe via les préférences système effacera ce mot de passe. Il faut maintenir l’utilisateur « root » actif pour empêcher son effacement.
 
Juste une question depuis que j'ai essayé la faille, en ouverture de session j'ai un compte "autre" qui est apparu et impossible de l'enlever dans les préférences systèmes(utilisateurs et groupes) vu qu'il y a l'administrateur et invité mais pas "autre". Y'a une solution pour l'enlever ?
Il ne faut surtout pas l’enlever !

C’est l’utilisateur « root » actif. Il faut définir un nouveau mot de passe sûr via l’utilitaire d’annuaire et attendre le correctif d’Apple.

Je suis sous H Sierra. J'ai réussi à l'enlever dans "Utilitaire d'annuaire" en désactivant le root. Mais en le désactivant ça peut être un problème ? Car perso j'avais jamais entendu "root" depuis hier soir....
T’as surtout réussi à t’exposer de nouveau à la faille.
 
Dernière édition:
Si ta question est : est-ce que les autres macOS sont touchés ? La réponse est non. Il s’agit d’un bug de High Sierra.
Oui, c'est ce que je disais, par exemple moi je suis sur Sierra je ne vais pas installer High Sierra avant qu'ils aient résolu le problème, ça me parait logique. Evidemment pour ceux qui l'ont deja installé c'est autre chose.
 
Je pense qu'il n'y a pas lieu de s'affoler, juste comme ça relisez les 2e et 3e paragraphes de la réponse #13. ;)
 
Ce n'est pas une faille..... C'est un problème "critique" très sérieux.
Si ce mot de passe fonctionne en connexion distance hors du LAN. On expose toutes nos données à Apple
qui à la porte dérobée pour tout gratter vers sa base de données !!!! Bonjour l'angoisse sans vouloir être
parano.

J'irai même plus loin, en me demandant si ce "bug" n'est pas parfaitement délibéré. Quelle M....
Merci à celle ou celui qui a ouvert ce post.
 
Je pense qu'il n'y a pas lieu de s'affoler, juste comme ça relisez les 2e et 3e paragraphes de la réponse #13. ;)

Personne ne parle de s’affoler mais de combler momentanément une faille qui ne demande pas qu’un accès physique à la machine, contrairement à ce qui est raconté ici, mais expose également celle-ci sur le réseau local.

La sécurité se mesure à son maillon le plus faible. Avec ce bug idiot elle ne vaut pas tripette actuellement sur High Sierra.

Je répète, parce qu’il y a des parasites sur la ligne :

Activez graphiquement l’utilisateur « root » via l’utilitaire d’annuaire et définissez un mot de passe sûr.

https://support.apple.com/fr-fr/HT204012

Tant que l’utilisateur « root » n’est pas activé graphiquement, le mot de passe est effaçable.
 
Utiliser cette horreur de ligne de commande ignoble et archaïque en tapant "sudo passwd root", on tape le mot de passe du compte en cours, puis on rentre un nouveau mot de passe pour le root (2 fois).
Et hop, c'est ok !

(pour info, sur mon mac, la méthode de résolution donnée dans l'article n'a pas fonctionné, il ne trouve pas l'application). Si cela peut aider !!!
C'est exactement ce que je dis dans le premier post #1 et sans critiquer la ligne de commande s'il vous plait.:eek:

Pour ceux qui se retrouvent avec un utilisateur "Autre" sur la fenêtre de connexion suite à cette manœuvre et que ça gène, il y une solution toute simple pour l'éliminer, depuis notre ami le terminal.:D
sudo defaults write /Library/Preferences/com.apple.loginwindow SHOWOTHERUSERS_MANAGED -bool FALSE

Et si on veut le ré-afficher 2 solutions :
sudo defaults write /Library/Preferences/com.apple.loginwindow SHOWOTHERUSERS_MANAGED -bool FALSE
ou plus viril (mais néanmoins correc) :
sudo defaults delete /Library/Preferences/com.apple.loginwindow SHOWOTHERUSERS_MANAGED

Bien entendu ces commandes avec sudo demanderont un mot de passe .... qui ne s'affiche pas lorsqu'on le tape (dire qu'on critique Apple pour son manque de sécurité :D)
 
Maintenant que la poussière de l'événement est retombée > je reviens dans ce fil pour faire part d'une constatation curieuse concernant le mot-de-passe de l'utilisateur root.

Cet utilisateur existe parce qu'un fichier root.plist existe dans la base de donnée Open Directory --> /private/var/db/dslocal/nodes/Defaut/users/root.plist. Dans ce fichier qui est sa carte d'identité logique > il y a une clé intituée passwd (mot-de-passe).

Si l'on passe la commande de lecture de la chaîne (valeur) associée à cette clé :
Bloc de code:
sudo defaults read /private/var/db/dslocal/nodes/Default/users/root.plist passwd
on obtient par défaut (par exemple après un clean install) l'affichage :
Bloc de code:
(
    "*"
)
- donc un astérisque * simple.

Que signifie cette valeur pour le mot-de-passe root ?

----------

Pour le savoir > je me suis livré à plusieurs explorations que je décris -->

je passe la commande :
Bloc de code:
sudo passwd root
et je choisis root comme mot-de-passe pour l'utilisateur root.

En repassant la commande informative :
Bloc de code:
sudo defaults read /private/var/db/dslocal/nodes/Default/users/root.plist passwd
j'obtiens le nouvel affichage :
Bloc de code:
(
    "********"
)
- soit 8 astérisques ********

J'enchaîne dans le Terminal une commande :
Bloc de code:
su -l root
en renseignant root comme mot-de-passe et j'obtiens :
Bloc de code:
To restore System Flavour (Apple UI), type 'restoreui' at the prompt.
MacBook Pro:~ root#
- j'ai donc bien changé de shell et je suis loggé actuellement dans celui de root#.

Je teste un déverrouillage du panneau Utilisateurs et groupes des Préférences Système : ça marche aussi à condition de répéter le login dans 2 fenêtres successives d'authentification.

Il y a bien une icône Autre à l'écran LoginWindow permettant de se logger dans une session graphique du dossier de compte /private/var/root.

Je note que les mêmes effets s'ensuivent > si j'utilise la commande :
Bloc de code:
dsenableroot -u toto -p toto -r root
(où toto est un admin à mot-de-passe toto) à la place de la commande passwd.

Je passe à présent la commande :
Bloc de code:
dsenableroot -d -u toto -p toto
où l'option -d (comme disable) "désactive" ( ! ) l'utilisateur root.

En repassant une commande :
Bloc de code:
sudo defaults read /private/var/db/dslocal/nodes/Default/users/root.plist passwd
on obtient l'affichage :
Bloc de code:
(
    "*"
)
- donc un astérisque * simple.

L'icône Autre de login n'est plus affichée au LoginWindow.

Par contre > une commande :
Bloc de code:
su -l root
(avec renseignement de root comme mot-de-passe) - continue d'être validée et je passe en shell root#.

De même > je garde la possibilité de déverrouiller des panneaux des Préférences Système avec le mot-de-passe root pour l'utilisateur root.

----------

Que faut-il conclure de ces brèves manipulations ?

- que "désactiver" (disable) l'utilisateur root bien sûr ne supprime pas son existence (fichier root.plist) > mais ne supprime pas du tout le mot-de-passe qui lui a été défini > et donc sa capacité à se logger dans un shell root# > ou encore de déverrouiller des panneaux des Préférences Système > donc : son "activité" en général. Mais une seule et unique chose : la capacité pour root de se logger dans une session graphique sur son dossier de compte /private/var/root. Ce > par retrait de l'icône Autre au LoginWindow (et quand bien même - à supposer cette icône affichée parce qu'il y aurait des utilisateurs masqués la requérant pour se logger --> je présume que le mot-de-passe root ne serait pas accepté - je n'ai pas testé).

- que le symbole astérisque unique (*) inscrit comme valeur de la clé passwd dans le fichier root.plist ne signifie pas : "absence de mot-de-passe root" > mais "mot-de-passe non reconnu comme mot-de-passe d'ouverture de session graphique". Il ne s'agit donc pas d'un retrait du mot-de-passe > mais d'une soustraction au mot-de-passe de root de la fonction : "mot-de-passe d'ouverture de session root". La "désactivation" de root n'est donc que la désactivation d'une fonction "ouverture de session" pour le mot-de-passe persistant de root.

- quand donc la valeur associée au passwd dans le fichier root.plist après une clean install est :
Bloc de code:
(
    "*"
)
- donc un astérisque * simple

cela doit alors s'interpréter ainsi : root possède un mot-de-passe auquel manque seule la fonction : "ouverture de session graphique" - mot-de-passe existant que personne (au sens des utilisateurs humains) ne connaît. Définir un mot-de-passe pour root équivaut donc à changer le mot-de-passe inconnu par défaut à une valeur connue de tel utilisateur > ce qui a l'effet collatéral d'activer aussi la fonction : "ouverture de session" de ce mot-de-passe connu. Enchaîner par une "désactivation" de root > équivaut alors à soustraire au mot-de-passe désormais connu de root, mot-de-passe qui continue de valoir, la simple fonction : "ouverture de session graphique".
 
Dernière édition par un modérateur:
  • J’aime
Réactions: Vinzzz25 et subsole
J'avais un compte root avec un MDP bien a moi, Apple à forcer la mise à jour, je ne m'en suis pas aperçu.
J'ai du redémarré pour une mise à jour (LittleSnitch), résultat plus d'utilisateur root au reboot.:bored: