1 votes

Suppression du lien symbolique vers /etc et maintenant les sudoers manquants

J'ai fait une grosse erreur, très mauvais .

J'ai accidentellement supprimé le lien symbolique vers mon /etc répertoire. Maintenant, je ne peux pas en créer un autre car je reçois sans cesse une erreur :

$ sudo ln -s /private/etc /etc
sudo: unable to stat /etc/sudoers: No such file or directory
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

Toute aide serait appréciée, merci.

Sortie de ls -l /etc :

$ ls -l /etc
ls: /etc: No such file or directory

Mon /etc était lié par un lien symbolique à /private/etc (sudoers est là-dedans).

3voto

klanomath Points 63400
  1. Démarrer en mode de récupération (cmd-R)
  2. Ouvrez le Terminal à partir de la barre de menu Utilitaires > Terminal.
  3. Soft-link /private/etc vers /etc sur votre volume principal :

    ln -s private/etc /Volumes/Macintosh\ HD/etc 

    Remplacer Macintosh\ HD avec le nom de votre volume principal (si vous l'avez oublié, il suffit de saisir df o ls /Volumes/ et vérifiez son nom ! N'oubliez pas d'échapper aux blancs avec un backslash).

2 votes

Il doit utiliser une cible de lien relative : ln -s private/etc /Volumes/Macintosh\ HD/etc

0 votes

Vous avez raison... mais l'autre solution fonctionne aussi - votre solution crée le contenu du lien original (etc -> private/etc) bien que

0voto

Réponse courte :

Sans sudo, vous ne pouvez pas exécuter de commandes en tant que Root sans entrer le mot de passe de l'utilisateur Root.

Si vous connaissez le mot de passe de l'utilisateur Root, alors exécutez

/usr/bin/su - root -c "ln -s /private/etc /etc"

et entrez le mot de passe de l'utilisateur Root.

0 votes

Utilisation de su a le même problème que sudo il n'autorisera pas parce que la commande ne peut pas trouver sudoers .

1 votes

El su ne nécessite pas /etc/sudoers (et le sudo dans cette commande est inutile -- si vous pouvez exécuter su alors vous êtes déjà Root et sudo n'est pas une option). Si vous connaissez le mot de passe de la racine, c'est probablement la solution la plus simple, une fois que vous avez laissé tomber le mot de passe de la racine. sudo .

0voto

larsks Points 149

Je crois que si vous créez un installateur amorçable de MacOS (par exemple, via ces instructions ) que vous aurez accès à une invite de terminal. Cela nécessite que :

  • vous avez accès à un deuxième périphérique MacOS (le vôtre, celui d'un ami, etc.) sur lequel vous pouvez créer des supports de démarrage,
  • une clé USB de rechange ou un autre support amovible, et
  • des connaissances suffisantes pour monter votre disque dur manuellement à partir de l'environnement d'installation.

À ce stade, vous devriez être en mesure de remplacer le /etc lien symbolique.

Je n'ai pas accès à un appareil MacOS sur lequel tester cela pour le moment, mais je le ferai dans quelques jours. Si j'en ai l'occasion, j'essaierai de valider ces instructions et de les mettre à jour si nécessaire.

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