Windows 10修改hosts文件提示无权限时,需通过四步解决:一、在C:\Windows\System32\drivers\etc中右键hosts→属性→安全→编辑→勾选当前用户“写入/修改”;二、高级→更改所有者为当前用户并勾选“替换子容器所有者”→添加完全控制权限;三、管理员命令行执行takeown与icacls命令重置所有权和F权限;四、禁用权限继承并仅保留当前用户完全控制项。

如果您尝试修改 Windows 10 中的 hosts 文件但提示“拒绝访问”或“无权限保存”,则很可能是当前用户未被授予对该文件的写入或完全控制权限。以下是更改 hosts 文件权限的具体操作步骤:
一、通过文件属性设置用户写入权限
该方法直接在图形界面中为当前用户或 Users 组赋予写入权限,适用于大多数因权限缺失导致无法保存的场景。
1、打开文件资源管理器,在地址栏输入 C:\Windows\System32\drivers\etc 并回车,定位到 hosts 文件所在目录。
2、右键单击 hosts 文件,选择“属性”。
3、切换至“安全”选项卡,点击“编辑”按钮。
4、在“组或用户名”列表中,选中当前登录的用户名称(或选中 Users 组)。
5、在下方权限列表中,勾选“写入”和“修改”对应的“允许”复选框。
6、点击“应用”,在弹出的 Windows 安全提示中点击“是”,再点击“确定”完成设置。
二、获取文件所有权并设置完全控制权限
当 hosts 文件的所有者为 SYSTEM 或 TrustedInstaller 时,仅设置写入权限可能无效,必须先将所有者更改为当前用户,再分配完全控制权。
1、在 hosts 文件属性窗口的“安全”选项卡中,点击“高级”按钮。
2、在“高级安全设置”窗口顶部,点击“更改”链接(位于“所有者”右侧)。
3、在弹出的“选择用户或组”窗口中,点击“高级”,再点“立即查找”。
4、从搜索结果中双击您的当前用户名,点击“确定”确认所有者变更。
5、勾选下方“替换子容器和对象的所有者”选项,确保权限继承生效。
6、返回“权限”选项卡,点击“添加”,再次添加当前用户名,并勾选“完全控制”下的“允许”。
7、点击“确定”逐级保存所有更改。
三、使用命令行强制获取所有权与权限
该方式绕过图形界面限制,通过内置系统工具直接重置 hosts 文件的所有权与 ACL,适用于权限严重锁定的情况。
1、右键点击“开始”菜单,选择“Windows PowerShell(管理员)”或“命令提示符(管理员)”。
2、执行以下命令以取得文件所有权:
takeown /f C:\Windows\System32\drivers\etc\hosts
3、执行以下命令以赋予当前用户完全控制权限:
icacls C:\Windows\System32\drivers\etc\hosts /grant administrators:F /t
4、若需对当前用户(非 administrators 组)授权,将 administrators 替换为您的具体用户名,例如:
icacls C:\Windows\System32\drivers\etc\hosts /grant "JohnDoe":F /t
5、命令执行成功后,系统将显示“已成功处理文件”,此时可直接双击编辑 hosts 文件。
四、通过安全策略禁用继承并单独配置权限
当 etc 目录启用了权限继承且存在冲突规则时,需先禁用继承,再清理无关条目,确保 hosts 文件权限纯净可控。
1、在 hosts 文件属性 → “安全” → “高级”窗口中,取消勾选“包括可从该对象的父项继承的权限”。
2、在弹出提示中选择“从该对象中删除所有已继承的权限”。
3、点击“添加”,在新窗口中点击“选择主体”,输入当前用户名后确认。
4、在权限条目中仅保留一项:当前用户名 + 完全控制(允许)。
5、确保“应用于”下拉菜单设为“此文件”,避免影响其他文件。
6、点击“确定”保存,关闭所有属性窗口。










