8 votes

Pourquoi ne puis-je pas éditer mon fichier `hosts` ?

Je tente de modifier mon fichier hosts, car l'exécution de ssh échoue à traduire en ip.

selon l'interface utilisateur Finder, il se trouve sous:

entrez ici la description de l'image cependant, en essayant d'exécuter cat hosts depuis le terminal, j'obtiens une erreur:

  /etc  cat hosts
cat: hosts: Aucun fichier ou dossier de ce type

J'ai essayé de créer un nouveau fichier hosts mais alors je vois qu'un autre est créé à côté du premier

entrez ici la description de l'image

mais lorsque j'essaie de modifier le deuxième hosts, je dois le dupliquer vers une autre destination. Je le copie dans /etc et le premier problème se reproduit.

J'ai essayé de modifier les autorisations pour que tout le monde puisse lire et écrire. Mais cela n'a pas aidé.

6voto

klanomath Points 63400

Généralement, seul l'utilisateur root est autorisé à modifier le fichier hosts.

Pour faire cela et corriger votre fichier hosts ou votre dossier /etc (selon où vous avez appliqué vos autorisations de lecture/écriture), suivez ces étapes :

  1. Jetez votre fichier hosts nouvellement créé (mais pas l'ancien !)
  2. Réparez vos autorisations avec Utilitaire de disque. entrez la description de l'image ici
  3. Ouvrez le Terminal et saisissez sudo nano /etc/hosts puis appuyez sur
  4. Saisissez votre mot de passe (il ne sera pas affiché !) et appuyez sur
    Le fichier hosts standard dans Yosemite ressemble à ceci : nano
  5. Modifiez votre fichier hosts.
    Le format de chaque ligne est l'adresse IP, puis un onglet ou un espace simple et les noms d'hôte(s). Terminez le fichier avec une ligne vide finale.
  6. enregistrez les modifications sur le disque avec ctrlO suivi de et quittez nano avec ctrlx
  7. Saisissez exit, appuyez sur et quittez Terminal.app

En alternative aux étapes 3 à 7, vous pouvez télécharger et installer hosts.prefpane et saisir vos hôtes supplémentaires là-bas.

2voto

samh Points 3830

Il ne devrait pas être possible d'avoir deux fichiers portant le même nom dans le dossier /etc. Pouvez-vous faire un Get Info sur l'original et vérifier le Nom et l'Extension (et que l'extension n'est pas cachée, et qu'il n'y a pas d'espaces à la fin du nom) ?

1 votes

Un était hosts.txt

1 votes

Cela peut se produire si vous créez le fichier à partir de zéro dans TextEdit (ou une application similaire) et le sauvegardez simplement dans le dossier /etc/ sans être extrêmement vigilant quant à l'extension ainsi que l'option "masquer l'extension".

0voto

wam090 Points 357

Changer simplement ce que vous voulez changer sur le duplicata, puis remplacez l'ancien fichier hosts.

0voto

Flying Trashcan Points 604

La meilleure façon que j'ai trouvée pour changer les paramètres des hôtes est la suivante :

1) Faire une copie (ce que vous avez déjà fait)

2) Déplacer la copie vers un nouvel emplacement, tel que le bureau

3) Faire une autre copie sur le bureau et la renommer "hosts ORIGINAL" pour savoir qu'il s'agit du fichier hosts original, au cas où vous auriez besoin de revenir en arrière.

4) Faire les modifications sur "hosts" sur le bureau et enregistrer.

5) Supprimer ou renommer le fichier "hosts" dans /etc en "hosts OLD"

6) Glisser "hosts" du bureau vers /etc. (vous pourriez être invité à entrer vos identifiants administrateur)

-1voto

Patrick Points 1

J'ai rencontré ce problème dans Yosemite 10.10.3. Je n'ai pas pu trouver la solution jusqu'à ce que je commence à penser différemment.

La plupart des gens ne le savent pas, mais par défaut, le dossier "/private/etc" et le fichier "/private/etc/hosts" ont des autorisations définies en lecture seule. Donc si vous ne changez que les autorisations du fichier "hosts" en lecture et écriture, vous ne pourrez toujours pas le modifier dans TextEdit. Le fichier "hosts" est verrouillé en raison du dossier "/private/etc". La astuce est que vous devez changer à la fois les autorisations du dossier "/private/etc" puis du fichier "hosts" dans "/private/etc".

sudo chmod 777 /private/etc;chmod 777 /private/etc/hosts;open -t /private/etc/hosts

Peu m'importe s'il s'agit d'un bogue ou non!

0 votes

Vous n'avez pas besoin d'autorisations d'écriture sur le dossier contenant pour modifier le contenu d'un fichier. C'est pas comme ça que fonctionne le système de permissions Unix.

0 votes

@JensErat vous n'avez pas besoin des autorisations d'écriture pour modifier un fichier sur place. Mais certains éditeurs GUI écrivent dans un fichier temporaire dans le même dossier, et si cela fonctionne, ils suppriment l'ancien fichier et renomment le nouveau en ancien. CE processus nécessite l'écriture dans le dossier parent.

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