0 votes

j'ai supprimé /etc/hosts sur un mac et maintenant je ne peux pas sudo

Je pense que j'ai fait une erreur en éditant /etc/hosts dans sublime text, car immédiatement après j'étais incapable d'exécuter "sudo xxx". Il me demandait un mot de passe, puis ne se résolvait jamais une fois que je l'avais saisi.

J'ai essayé d'éditer /etc/hosts, mais cela nécessitait toujours sudo, qui n'a jamais été résolu, donc cela n'a pas fonctionné. À la fin, j'ai simplement supprimé le fichier, mais je suis coincé maintenant avec l'impossibilité de le recréer sans accès à sudo. Des idées ?

1 votes

Que voulez-vous dire par "résoudre un mot de passe" ? - Le fichier Hosts est utilisé pour la résolution de noms, c'est-à-dire pour convertir les noms d'hôtes en adresses IP. Vous ne résolvez pas de mot de passe. Le moyen le plus simple de résoudre votre problème est de redémarrer le Mac en mode mono-utilisateur en maintenant la touche Cmd-s enfoncée pendant le démarrage. En mode mono-utilisateur, vous pouvez recréer le fichier hosts. Vous pouvez également retirer le disque et le connecter à un autre Mac, puis recréer le fichier à partir de là.

0 votes

Le moyen le plus simple est de restaurer à partir d'une sauvegarde - ou dans ce cas de réinstaller le système d'exploitation.

0 votes

@jksoegaard "résoudre un mot de passe" faisait juste référence au fait que lorsque je tape un mot de passe et que je clique sur "soumettre", rien ne se passe. Il se bloque indéfiniment. Je vais essayer la suggestion du mode mono-utilisateur, merci !

1voto

klanomath Points 63400

Le fichier /etc/hosts n'est en aucun cas lié à la possibilité d'exécuter sudo. Vous avez probablement détruit votre fichier sudoers dans une étape précédente.

Pour résoudre votre problème, démarrez en mode de récupération et ouvrez Terminal dans la barre de menus > Utilitaires.

  • Exécuter df pour obtenir le nom du volume principal de votre système.

  • Changez votre répertoire de travail en /Volumes//etc :

    cd /Volumes/Macintosh\ HD/etc #"Macintosh HD" is just an example name here
  • Copiez les fichiers de réserve hosts~orig et sudoers~orig (ou avec des noms similaires qui peuvent exister en tant que "backup" dans /etc par défaut - vérifiez cela à l'aide de la commande ls !) :

    cp hosts~orig hosts
    cp -i sudoers~orig sudoers #enter yes here

    S'ils n'existent pas, créez le fichier hosts et vérifiez votre fichier sudoers :

    /Volumes/<name_of_main_volume>/usr/bin/nano /Volumes/<name_of_main_volume>/etc/hosts

    Le contenu du fichier hosts par défaut est le suivant.

    ##
    # Host Database
    #
    # localhost is used to configure the loopback interface
    # when the system is booting.  Do not change this entry.
    ##
    127.0.0.1   localhost
    255.255.255.255 broadcasthost
    ::1             localhost 

    Les permissions POSIX sont Root:wheel 644. Modifiez ceci avec chown y chmod si nécessaire.

    /Volumes//usr/bin/nano /Volumes//etc/sudoers

    Un fichier sudoers minimal (pour taper moins !) fonctionnel ressemble à ceci :

    Defaults    env_reset
    Defaults    env_keep += "BLOCKSIZE"
    Defaults    env_keep += "COLORFGBG COLORTERM"
    Defaults    env_keep += "__CF_USER_TEXT_ENCODING"
    Defaults    env_keep += "CHARSET LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE"
    Defaults    env_keep += "LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME"
    Defaults    env_keep += "LINES COLUMNS"
    Defaults    env_keep += "LSCOLORS"
    Defaults    env_keep += "SSH_AUTH_SOCK"
    Defaults    env_keep += "TZ"
    Defaults    env_keep += "DISPLAY XAUTHORIZATION XAUTHORITY"
    Defaults    env_keep += "EDITOR VISUAL"
    Defaults    env_keep += "HOME MAIL"
    
    Defaults    lecture_file = "/etc/sudo_lecture"
    
    root        ALL = (ALL) ALL
    %admin      ALL = (ALL) ALL

    Les permissions POSIX sont Root:wheel 440. Modifiez ceci avec chown y chmod si nécessaire.

  • Redémarrez votre Mac en entrant :

    reboot

Cela peut également être fait en mode mono-utilisateur après avoir monté le volume Root. rw .


Après avoir retrouvé la capacité d'exécuter sudo, extrayez-le de l'application d'installation de MacOS avec Pacifist ou à partir d'une sauvegarde ou modifiez-le vous-même avec visuso . Le contenu par défaut est :

#
# Sample /etc/sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.

##
# Override built-in defaults
##
Defaults    env_reset
Defaults    env_keep += "BLOCKSIZE"
Defaults    env_keep += "COLORFGBG COLORTERM"
Defaults    env_keep += "__CF_USER_TEXT_ENCODING"
Defaults    env_keep += "CHARSET LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE"
Defaults    env_keep += "LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME"
Defaults    env_keep += "LINES COLUMNS"
Defaults    env_keep += "LSCOLORS"
Defaults    env_keep += "SSH_AUTH_SOCK"
Defaults    env_keep += "TZ"
Defaults    env_keep += "DISPLAY XAUTHORIZATION XAUTHORITY"
Defaults    env_keep += "EDITOR VISUAL"
Defaults    env_keep += "HOME MAIL"

Defaults    lecture_file = "/etc/sudo_lecture"

##
# User alias specification
##
# User_Alias    FULLTIMERS = millert, mikef, dowdy

##
# Runas alias specification
##
# Runas_Alias   OP = root, operator

##
# Host alias specification
##
# Host_Alias    CUNETS = 128.138.0.0/255.255.0.0
# Host_Alias    CSNETS = 128.138.243.0, 128.138.204.0/24, 128.138.242.0
# Host_Alias    SERVERS = master, mail, www, ns
# Host_Alias    CDROM = orion, perseus, hercules

##
# Cmnd alias specification
##
# Cmnd_Alias    PAGERS = /usr/bin/more, /usr/bin/pg, /usr/bin/less

##
# User specification
##

# root and users in group wheel can run anything on any machine as any user
root        ALL = (ALL) ALL
%admin      ALL = (ALL) ALL

## Read drop-in files from /private/etc/sudoers.d
## (the '#' here does not indicate a comment)
#includedir /private/etc/sudoers.d

0 votes

Vous avez dit, "Copiez les fichiers de rechange hosts~orig et shudders~orig :", d'où viennent ces "fichiers de rechange" ? Ils n'existent pas dans ma version 10.12.3.

0 votes

Ils n'existent pas dans mon MacOS 10.12.3. /etc répertoire.

0 votes

@user3439894 Vous avez raison. C'est évidemment une étrange coïncidence que les deux fichiers existent dans mon installation.

0voto

user3439894 Points 52496

Pendant que vous êtes démarré normalement sur votre compte habituel, faites ce qui suit dans Terminal :

touch sudoers.ori hosts.ori
open -e sudoers.ori hosts.ori
  • Remarque : Cela suppose que vous êtes dans votre répertoire d'origine lorsque vous exécutez ces commandes.

En el hosts.ori copiez et collez ce qui suit :

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost

Ensuite, sauvegardez et fermez le hosts.ori fichier.

En el sudoers.ori copiez et collez ce qui suit :

#
# Sample /etc/sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.

##
# Override built-in defaults
##
Defaults    env_reset
Defaults    env_keep += "BLOCKSIZE"
Defaults    env_keep += "COLORFGBG COLORTERM"
Defaults    env_keep += "__CF_USER_TEXT_ENCODING"
Defaults    env_keep += "CHARSET LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE"
Defaults    env_keep += "LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME"
Defaults    env_keep += "LINES COLUMNS"
Defaults    env_keep += "LSCOLORS"
Defaults    env_keep += "SSH_AUTH_SOCK"
Defaults    env_keep += "TZ"
Defaults    env_keep += "DISPLAY XAUTHORIZATION XAUTHORITY"
Defaults    env_keep += "EDITOR VISUAL"
Defaults    env_keep += "HOME MAIL"

Defaults    lecture_file = "/etc/sudo_lecture"

##
# User alias specification
##
# User_Alias    FULLTIMERS = millert, mikef, dowdy

##
# Runas alias specification
##
# Runas_Alias   OP = root, operator

##
# Host alias specification
##
# Host_Alias    CUNETS = 128.138.0.0/255.255.0.0
# Host_Alias    CSNETS = 128.138.243.0, 128.138.204.0/24, 128.138.242.0
# Host_Alias    SERVERS = master, mail, www, ns
# Host_Alias    CDROM = orion, perseus, hercules

##
# Cmnd alias specification
##
# Cmnd_Alias    PAGERS = /usr/bin/more, /usr/bin/pg, /usr/bin/less

##
# User specification
##

# root and users in group wheel can run anything on any machine as any user
root        ALL = (ALL) ALL
%admin      ALL = (ALL) ALL

## Read drop-in files from /private/etc/sudoers.d
## (the '#' here does not indicate a comment)
#includedir /private/etc/sudoers.d

Ensuite, sauvegardez et fermez le sudoers.ori fichier.

Maintenant, à partir du disque de récupération, dans le terminal, faites ce qui suit :

cd /Volumes/Macintosh\ HD/etc
cp /Volumes/Macintosh\ HD/Users/*/hosts.ori hosts
cp /Volumes/Macintosh\ HD/Users/*/sudoers.ori sudoers
chown root:wheel hosts
chown root:wheel sudoers
chmod 0644 hosts
chmod 440 sudoers
reboot
  • Nota: Macintosh HD est le nom par défaut, mais si vous l'avez changé pour une raison quelconque, modifiez-le de manière appropriée dans la ligne de commande.

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