4 votes

Comment accéder au dossier /etc depuis cd /Macintosh/ HD?

J'utilise Monterey macOS v12.3.

Sais-tu comment je peux trouver le dossier /etc à partir de cd /Macintosh/ HD ?

J'ai corrompu mon sudoers et je veux le modifier depuis le mode utilisateur unique, mais je n'arrive pas à atteindre le chemin. J'ai essayé ce qui suit en cherchant /etc.

 cd /Macintosh/ HD/System/Volumes/Data
 cd /Macintosh/ HD/System/private

J'ai lu ce sujet, mais il n'y avait aucun indice sur la façon d'y accéder: Qu'est-ce que /System/Volumes/Data ?

Voici le texte tiré de la question actuellement fermée posée sur Stack Overflow question.

Titre: J'ai corrompu mon fichier sudoers sur MAC - comment le modifier depuis le mode utilisateur unique ?

Par erreur, j'ai corrompu mon fichier sudoers. Je l'ai modifié et mal orthographié un mot qui a corrompu le fichier.

J'ai écrit NOPASSED au lieu de NOPASSWD.

Entre-temps, je ne suis plus en mesure de l'éditer.

J'utilise un MacBook Pro (16 pouces, 2021) avec macOS 12.3.

J'ai redémarré en mode utilisateur unique, et ouvert le Terminal, mais je ne parviens pas à atteindre le répertoire pour modifier le fichier.

Ce journal ci-dessous est du Terminal macOS normal, et non du mode utilisateur unique.
oahmed@oahmed-mac /etc % ls -l | grep sudo
-r--r-----   1 root wheel      257 26 Feb 02:05 sudo_lecture
-r--r-----   1 root wheel     1573  2 Feb 12:18 sudoers
drwxr-xr-x   2 root wheel       64 26 Feb 02:05 sudoers.d
oahmed@oahmed-mac /etc % more sudoers
sudoers: Permission denied
oahmed@oahmed-mac /etc % sudo vi sudoers
/etc/sudoers:56:34: syntax error
%admin      ALL = (ALL) NOPASSED: ALL
                             ^
Password:
Désolé, l'utilisateur oahmed n'est pas autorisé à exécuter '/usr/bin/vi sudoers' en tant que root sur oahmed-mac.

7voto

David Anderson Points 30783

Lors du démarrage en mode utilisateur singe, les messages suivants peuvent être observés.

Pour accéder au répertoire /etc, lisez ce qui précède et saisissez les commandes suivantes.

/sbin/mount -P 1
/usr/libexec/init_data_protection
/sbin/mount -P 2

En entrant la commande ls /etc/sudoers, vous obtiendrez le résultat suivant.

-sh-3.2# ls /etc/sudoers
/etc/sudoers

Comme vous pouvez le voir, le nom du volume contenant le répertoire racine est sans importance. En d'autres termes, vous n'avez pas besoin de saisir Macintosh\ HD.

5voto

David Anderson Points 30783

Vous n'avez pas besoin de démarrer en mode utilisateur unique pour corriger votre erreur. Ce que vous devez faire, c'est passer votre identifiant utilisateur en superutilisateur (root). Sous Unix normal, la commande serait su, cependant cette commande ne fonctionnera pas comme prévu tant que vous n'aurez pas activé l'utilisateur root. La procédure est donnée ci-dessous.

Activer l'utilisateur root

Remarquez que l'icône de verrouillage doit apparaître comme sur l'image ci-dessous.

icône de verrouillage

Les étapes sont données ci-dessous.

  1. Choisissez le menu Pomme () > Préférences Système, puis cliquez sur Utilisateurs et groupes (ou Comptes).
  2. Cliquez sur l'icône de verrouillage, puis saisissez un nom d'administrateur et un mot de passe.
  3. Cliquez sur Options de connexion.
  4. Cliquez sur Joindre (ou Modifier).
  5. Cliquez sur Ouvrir Utilitaire de répertoire.
  6. Cliquez sur l'icône de verrouillage dans la fenêtre Utilitaire de répertoire, puis saisissez un nom d'administrateur et un mot de passe.
  7. Dans la barre de menu de l'Utilitaire de répertoire, choisissez Modifier > Activer l'utilisateur root, puis saisissez le mot de passe que vous souhaitez utiliser pour l'utilisateur root.
  8. Quittez Préférences Système. Pour plus de commodité, laissez la fenêtre de l'Utilitaire de répertoire ouverte.

Corriger le fichier sudoers

Poursuivez avec les étapes suivantes.

  1. Ouvrez une fenêtre d'application Terminal et saisissez la commande su. Entrez le mot de passe de l'utilisateur root lorsque demandé.
  2. Une fois que vous êtes l'utilisateur root, apportez la correction nécessaire au fichier sudoers.
  3. Si verrouillé, cliquez sur l'icône de verrouillage dans la fenêtre Utilitaire de répertoire, puis saisissez un nom d'administrateur et un mot de passe.
  4. Dans la barre de menu de l'Utilitaire de répertoire, choisissez Modifier > Désactiver l'utilisateur root.
  5. Quittez l'Utilitaire de répertoire.

Références

1voto

David Anderson Points 30783

Utilisation de la récupération macOS ou d'un installateur bootable pour macOS

Cette réponse a été testée en utilisant un installateur bootable pour macOS 12.0.1 (Build 21A559). Vous pourriez également démarrer depuis la récupération macOS.

Ici, je suppose qu'une fenêtre Terminal a été ouverte en sélectionnant Utilitaires > Terminal dans la barre de menus de récupération.

Tout d'abord, je devrais noter que l'utilisateur a incorrectement saisi Macintosh/ HD. Au lieu de cela, l'utilisateur aurait dû utiliser Macintosh\ HD ou "Macintosh HD".

Exécutez les étapes ci-dessous.

  1. Entrez la commande ci-dessous pour invoquer un shell Z. La commande chroot change le répertoire racine pour être le même que lors du démarrage sous macOS Monterey. Si vous préférez un shell Bash, remplacez zsh par bash.

    Remarque : Si vous souhaitez accéder à des logiciels tiers installés, vous pouvez choisir d'ajouter /usr/local/bin à la variable PATH.

    chroot "/Volumes/Macintosh HD" zsh
  2. Effectuez la correction nécessaire sur le fichier sudoers. Par exemple, la commande ci-dessous utilise l'éditeur nano pour éditer le fichier sudoers.

    nano /etc/sudoers

    Remarque : L'utilisateur GACy20 a posté un commentaire recommandant l'utilisation de la commande visudo.

  3. Lorsque vous avez terminé, entrez la commande ci-dessous pour revenir au shell Bash d'origine.

    exit

Ci-dessous se trouve la sortie d'exemple.

-bash-3.2# chroot "/Volumes/Macintosh HD" zsh
root@Mac / # nano /etc/sudoers
root@Mac / # exit

Saving session...shell_session_save:7: read-only file system: /dev/null

...copying shared history...
...saving history...truncating history files...
...completed.
-bash-3.2# 

Références

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