Windows 10中编辑hosts文件提示“无权限”是因系统保护,需通过安全选项卡授予权限、高级设置变更所有者、命令行工具takeown/icacls或清除只读属性四种方法解决。

如果您尝试编辑 Windows 10 中的 hosts 文件但被提示“无权限”或“拒绝访问”,则通常是由于该文件受系统保护,默认仅允许 SYSTEM 和 Administrators 组进行写入操作。以下是更改 hosts 文件权限的具体步骤:
一、通过安全选项卡授予当前用户完全控制权限
此方法直接修改 hosts 文件的 NTFS 权限,使当前登录用户获得读取、写入和修改权限,适用于需频繁编辑的场景。
1、打开文件资源管理器,在地址栏中输入 C:\Windows\System32\drivers\etc 并按回车键。
2、在该文件夹中找到名为 hosts 的文件(无扩展名),右键单击它,选择“属性”。
3、在属性窗口中切换到“安全”选项卡,点击“编辑”按钮。
4、在弹出的“权限”窗口中,点击“添加”按钮。
5、在“选择用户或组”对话框中,点击“高级” → “立即查找”,在搜索结果中选中您当前登录的用户名(例如 DESKTOP-XXX\YourName),点击“确定”。
6、返回权限列表,选中该用户名,在下方权限列表中勾选“完全控制”对应的“允许”复选框。
7、点击“应用”,系统可能提示需先获取所有权;此时点击“继续”或“是”,等待权限更新完成。
二、通过高级安全设置变更所有者并重置权限
当“编辑”按钮灰显或提示“您没有权限更改此对象的权限”时,说明当前用户并非文件所有者,必须先取得所有权再分配权限。
1、在 hosts 文件的“属性”窗口中,切换至“安全”选项卡,点击“高级”按钮。
2、在“高级安全设置”窗口顶部,“所有者”右侧显示当前所有者(通常为“SYSTEM”);点击“更改”链接。
3、在“选择用户或组”中输入您的用户名,点击“检查名称”确认后点击“确定”。
4、勾选下方“替换子容器和对象的所有者”选项,确保权限继承生效。
5、点击“应用”,系统将重新加载权限界面;返回“安全”选项卡,再次点击“编辑”。
6、添加当前用户并赋予“完全控制”权限,点击“确定”保存全部更改。
三、使用命令行快速赋予完全控制权限
该方法绕过图形界面限制,通过内置工具 takeown 和 icacls 直接提升权限,适合熟悉命令行的用户。
1、右键点击“开始”菜单,选择“Windows PowerShell(管理员)”或“命令提示符(管理员)”。
2、执行以下命令以获取 hosts 文件所有权:
takeown /f C:\Windows\System32\drivers\etc\hosts
3、执行以下命令授予当前用户完全控制权限:
icacls C:\Windows\System32\drivers\etc\hosts /grant %username%:F /t
4、若需同时向 Users 组授予权限,可追加命令:
icacls C:\Windows\System32\drivers\etc\hosts /grant Users:F /t
5、关闭命令行窗口,此时可直接双击 hosts 文件用记事本编辑并保存。
四、临时移除只读属性配合权限调整
部分系统策略会为 hosts 文件设置只读属性,即使权限已开放仍无法保存,需同步清除该属性。
1、以管理员身份运行命令提示符或 PowerShell。
2、执行命令进入 hosts 所在目录:
cd /d C:\Windows\System32\drivers\etc
3、执行命令移除只读属性:
attrib -r hosts
4、完成权限修改后,如需恢复系统默认保护状态,可执行:
attrib +r hosts










