ToggleHosts
Modifier le fichier hosts sans droits admin : est-ce possible ?

Modifier le fichier hosts sans droits admin : est-ce possible ?

4 min de lecture

Peut-on modifier le fichier hosts sans droits administrateur ? La réponse honnête et les vraies alternatives sous Windows, Mac et Linux quand on ne peut pas élever (proxy, Docker, DNS local, SSH).

Gérez vos fichiers hosts sans terminal

ToggleHosts vous permet de gérer vos environnements visuellement sur Windows, macOS et Linux, avec flush DNS automatique et sauvegardes.

Réponse courte : on ne peut pas modifier le fichier hosts système lui-même sans droits administrateur, chaque OS bloque l’écriture volontairement. Mais si votre but est de pointer un nom d’hôte vers une IP précise (test, staging, développement local), il existe des alternatives légitimes au niveau utilisateur qui ne touchent pas au fichier protégé. Ce guide explique ce qui est possible, ce qui ne l’est pas, et les contournements qui fonctionnent vraiment sur une machine verrouillée.

Pourquoi les droits admin sont incontournables pour le fichier hosts

Le fichier hosts définit la résolution domaine/IP pour tout le système. Si un processus non privilégié pouvait l’éditer, un malware pourrait rediriger votrebanque.com vers un serveur de phishing. Donc :

  • Windows : C:\Windows\System32\drivers\etc\hosts appartient à SYSTEM ; l’enregistrement exige l’élévation UAC.
  • macOS / Linux : /etc/hosts appartient à root ; l’écriture exige sudo.

La lecture est toujours autorisée ; l’écriture exige toujours l’élévation. Pour la voie élevée, voir modifier le fichier hosts en administrateur. La suite est pour les cas où vous ne pouvez réellement pas élever.

Ce qui ne marche PAS (à éviter)

  • Changer le propriétaire / les permissions (chown, chmod 666, « prendre possession » sous Windows), affaiblit la sécurité et peut être bloqué par la stratégie de toute façon.
  • Désactiver l’UAC, expose tout le système ; les images d’entreprise le réactivent souvent.
  • Copier-éditer-remplacer, vous pouvez copier le fichier et éditer la copie, mais le réécrire dans System32\drivers\etc\ ou /etc exige quand même l’élévation.

Sur un appareil géré par l’entreprise, le bon réflexe est de demander à l’IT un processus approuvé. Les options ci-dessous évitent totalement le fichier hosts.

Alternative 1, Un proxy par application (sans admin)

Les outils proxy tournent en espace utilisateur et peuvent réécrire vers où pointe un nom d’hôte, soit exactement ce que vous vouliez faire avec le fichier hosts :

  • Proxyman / Charles Proxy, règle « Map Remote » / réécriture d’hôte pour envoyer app.test vers une IP précise.
  • mitmproxy, redirection d’hôte scriptable pour HTTP(S).

Cela n’affecte que le trafic passant par le proxy : sûr et réversible sans droits admin.

Alternative 2, Docker --add-host

Si vous exécutez votre appli dans Docker, injectez le mapping par conteneur sans modifier le système :

BASH
docker run --add-host app.test:127.0.0.1 myimage
YAML
# docker-compose.yml
services:
 web:
 extra_hosts:
 - "app.test:127.0.0.1"

Le mapping vit dans le fichier hosts propre au conteneur, aucun droit admin requis sur l’hôte.

Alternative 3, Tunnel SSH

Pour atteindre un service distant comme s’il était local, redirigez un port au lieu de remapper le DNS :

BASH
ssh -L 8080:internal-service:80 user@jump-host

Puis utilisez http://localhost:8080. Aucune édition hosts, aucune élévation. À lire : 127.0.0.1 vs localhost.

Alternative 4, Résolveur en espace utilisateur ou config du serveur de dev

  • Beaucoup de frameworks permettent de définir l’hôte/les en-têtes dans la config du serveur de dev (par ex. server.host / hôtes autorisés), sans vrai nom DNS.
  • Sur une VM personnelle ou une instance cloud où vous *avez* root, lancez dnsmasq et pointez votre appli dessus, voir domaines locaux wildcard avec dnsmasq.

Si vous manquez seulement d’*élévation*, pas d’un compte admin

Sur votre machine, vous avez généralement un compte admin et devez juste élever par session :

Ce n’est pas « sans admin », c’est la manière correcte et sûre. Si l’enregistrement échoue encore, voir permission refusée fichier hosts Mac, le guide Windows 11 et comment modifier le fichier hosts.

Un workflow quotidien plus sûr

Si vous avez régulièrement besoin de domaines locaux sur votre propre machine, un gestionnaire de hosts comme ToggleHosts demande l’élévation une fois, puis permet d’activer/désactiver les entrées sans ré-éditer un fichier protégé à chaque fois, et vide le DNS pour vous. Il ne contourne pas les droits admin (rien ne le peut en sécurité) ; il rend simplement le workflow élevé légitime indolore.

_Dernier test : juin 2026 sur Windows 11, macOS 26 et Ubuntu 24.04._

Sources et ressources externes

À lire aussiModifier le fichier hosts en administrateur
À lire aussiComment modifier le fichier hosts (toutes plateformes)
Partager cet article

Questions fréquentes

Pas le fichier hosts système lui-même, chaque OS exige une élévation pour l’écrire, par conception. Mais vous pouvez obtenir la même redirection domaine/IP sans y toucher : proxy par application, Docker --add-host, tunnel SSH, ou résolveur DNS en espace utilisateur.

Il contrôle la résolution de noms de toute la machine. Si un programme pouvait le réécrire en silence, un malware pourrait détourner vos domaines bancaires ou e-mail. La restriction d’écriture est une frontière de sécurité voulue, pas un bug.

Utilisez un proxy (Proxyman/Charles/mitmproxy) pour mapper un nom d’hôte vers une IP, passez --add-host à Docker, faites un tunnel SSH, ou pointez votre appli vers un résolveur que vous contrôlez. Tout cela fonctionne au niveau utilisateur.

Non. Assouplir les permissions ou en prendre possession affaiblit la sécurité, ce que la restriction empêche justement. Sur un appareil géré sans droits admin, demandez à l’IT plutôt que de contourner.

Un utilisateur standard peut le lire mais pas enregistrer les changements. Il faut lancer l’éditeur avec « Exécuter en tant qu’administrateur », ce qui requiert un identifiant administrateur.

Articles similaires