Windows10ではhostsファイルの編集が管理者権限のあるアカウントでもできないようになっています。ローカルで開発環境を作っている方などhostsファイルを編集したい方向けの情報です。
- 本記事ではWindows10での設定方法について書いています
- 特定のユーザにアクセス権限を与える方法も書いてありますが、自己責任でお願い致します
hostsファイルとは
hostsファイルとは、TCP/IPを使ったネットワークにおいてIPアドレスとホスト名を対応させたファイルのことです。と一般的に説明されていますがいまいち理解できませんよね。。。
hostsファイルを編集することによって、IPアドレスとホスト名の変換をし、強制的に設定したサーバへつなげる事ができる設定ファイルです。
例えば、google.co.jpをブラウザで開いた場合、通常だとGoogleのトップページが開きますが、hostsファイルに下記1行を追記するとgoogle.co.jpへアクセスしてもYahoo!のトップページが表示されてしまうようになります。
183.79.135.206 google.co.jp
「183.79.135.206」はYahoo!のIPアドレスで、そのIPアドレスに対して「google.co.jp」を関連付けしているため、google.co.jpへ接続してもYahoo!のトップページが表示されるようになります。
hostsファイルについてもっと詳しく知りたい方はhostsファイルとは?初心者目線で解説します!を見てみるといいかもしれません。
hostsファイルの編集方法
hostsファイルの編集をする前にバックアップファイルを作成しておくことをおすすめします。
方法1:ファイルを上書きする
この方法が一番簡単だと思います。
hostsファイルが保存されているC:¥Windows¥System32¥drivers¥etcを開き、hostsファイルをデスクトップなどにコピーし、そのファイルを編集した後にetcフォルダに戻してファイルを無理やり変更する方法です。
ファイルを上書きする際に「対象フォルダーへのアクセスは拒否されました」エラーが出ますが、続行を押してください。
方法2:メモ帳を管理者として実行して編集する
タイトル通りで、メモ帳を管理者として実行して起動し、hostsファイルを編集し保存してください。
方法3:特定のユーザにアクセス権限を与える
この方法は少し長いのですが、設定した後は普通のファイル同様に扱うことができるので、hostsファイルを頻繁に変更する方はこの方法がいいかもしれません。
hostsファイルは管理者権限のあるユーザでログインしたとしてもファイルの編集ができないようになっています。まずはファイルの編集ができるようにします。
C:¥Windows¥System32¥drivers¥etcを開き、hostsファイルを右クリックし、「プロパティ」を開きます。
「編集」を押します。
「追加」を押します。
「選択するオブジェクト名を入力してください」の欄にログインしているユーザ名を入れ、「名前の確認」を押し、「OK」を押します。
追加したユーザのフルコントロールのチェックボックスにチェックを入れます。そいして「OK」を押します。
「はい」を押します。
追加したユーザのアクセス許可がフルコントロールとなっていることを確認して、「OK」を押します。
これでログインしているユーザがファイルの変更をできるようになりました。お好みのテキストエディタで編集をしてください。
hostsファイルを初期状態に戻す
なんらかの不具合が出た場合はファイルを初期状態に戻してください。
予めバックアップファイルを作成している場合はそのファイルの内容を上書きすればいいのですが、バックアップファイルを作成していない場合は、Microsoftが公開しているHosts ファイルを既定にリセットして戻す方法を参考にしてみてください。
念のためWindows10のhostsファイルの内容を載せておきます。
# Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost