Win8.1系统Hosts文件失效的具体原因分析
你是否曾遇到过Hosts文件突然失效的问题?在我使用的Windows 8.1系统中,原本运作良好的Hosts文件突然无法正常工作,给我带来了不少工作上的困扰。为了找到问题的根源,我决定进行一次演示测试,并和大家分享我的分析过程。
我检查了Hosts文件的路径,发现没有问题,而且文件内只有一行映射,排除了其他可能的干扰因素。我尝试使用ipconfig /flushdns清理DNS缓存,甚至停止了DNS Client服务,但问题依然存在。
通过深入检查,我发现即使在赋予了System权限、我自己的账户以及Admin组账户完全控制权限的情况下,Hosts文件仍然无法正常工作。这让我感到困惑,是不是我的系统遭到了某种未知的攻击或劫持?
为了解决这个问题,我使用了消息记录器来跟踪与Hosts文件相关的系统消息。我在Windows 8.1和虚拟机中的Windows XP系统上进行了一系列对比实验。
我发现所有具有网络通信功能的程序都会去检查一个特定的键值,以判断是否需要读取Hosts文件。无论XP还是8.1系统,这个键值都不存在。但已知XP系统能够正常读取Hosts文件,因此这个键值并不是关键。
在深入调查过程中,我注意到一个奇怪的现象:在8.1系统下,每次我手动修改Hosts文件后,都会有一个名为svchost.exe的进程试图访问它,但结果却是访问被拒绝。而在XP系统中,同样的进程访问结果是成功的。
通过消息记录器提供的进程ID,我发现这个进程与DNS Client服务有关。于是,我断定问题肯定与DNS Client服务有关。由于出现访问文件被拒绝的情况,肯定是账户权限问题。
我打开了DNS Client的属性页,发现其使用的账户并不是默认的本地系统账户,而是名为“Network Service”的内置安全主体。
到这里,问题的原因终于明朗了:DNS Client服务使用的账户不是System账户,而是Network Service账户。虽然我为System账户赋予了完全访问控制权限,但Network Service账户并没有包含在内。System账户和Network Service账户是独立的,因此当DNS Client服务启动后,无法正常读取Hosts文件,导致它失效。
解决这个问题的方法很简单:编辑etc文件夹的访问权限,为Network Service账户添加至少允许读取的权限,然后重新启动DNS Client服务即可。现在,我的Hosts文件已经恢复正常工作。
通过以上的分析和实验,希望大家能更清楚地理解Windows 8.1系统下Hosts文件失效的原因,并掌握相应的解决方法。只要我们调整相关权限设置,就能让Hosts文件恢复正常工作。
网络推广
- Win8.1系统Hosts文件失效的具体原因分析
- 最受黑客喜欢的五种网络口令
- McAfee 打造超安全的Web站点目录的图文教程
- ai怎么设计扫地机产品宣传图- ai扫地机的画法
- Redmi G游戏本值得入手吗 Redmi G游戏本评测
- 作为站长的我们到底需要什么?我们又缺少了什
- 关于Android,让你震惊的一组数字
- CSS3 绘制BMW logo实的现代码
- 笔记本风扇的维修及保养
- win10预览版10061 bug有哪些 win10预览版10061bug汇总
- 电脑CD-ROM光驱怎么设置访问权限?
- a标签样式 和 a标签属性写法
- seo只是基础 网站的根本在于用户 从这个角度运营
- Vista添加新的文件或位置到索引的方法
- bios里面各参数的中英文对照
- 使用-口袋PE一键Ghost”安装系统的详细图文步骤