
u代表文件所有者
g代表文件所属组
o代表其他用户
a代表上述3个
hosts文件属于root用户 root组
你的账户应该属于其他用户 则sudo chmod o+w或a+w /etc/hosts
还可以sudo chmod 777 /etc/hosts
r=4 w=2 x=1 相加就是777,代表文件拥有者,组群,其他用户都是可读,可写,可执行。相当于rwxrwxrwx用这种数字方式比较好点
楼下的,我只是举个例子 并不是说让改777
知道原理就好了
当我们需要屏蔽某些恶意网站或访问特定网址以及在内网做测试的时候,常常需要修改hosts 文件,但是会发现有时修改完却总是不生效,而且Windows7系统和Vista系统、XP系统都会碰到此类情况,所以研究一下解决此类问题的办法。一般在LINUX下修改完/etc/hosts文件都会立即生效的,即便偶尔不生效,只要重启一下network服务就可以了。但是windows却是会遇到这样的问题,而且在不同版本的系统中还略有区别。
在解决问题之前,让我们了解一下dns和hosts的知识。我们知道在访问网站时,首先要通过DNS服务器把要访问的域名解析成IP地址后,我们才能在浏览器中看到所访问网站的页面内容。根据Windows系统规定,在进行DNS请求以前,Windows系统会先检查自己的Hosts文件中是否有网络域名的映射关系。如果有,则调用这个IP地址映射,如果没有再向已知的DNS服务器提出域名解析,也就是说Hosts的请求级别比DNS高。
首先要知道hosts文件的位置,在xp,2000,win7等系统中找到如下位置C:\windows\system32\drivers\etc,我们可以看到hosts文件,注意hosts文件是ascii编码方式,而且是没有后缀名的。
其二正确修改hosts文件,一般hosts文件里面都会有个示例,比如 127.0.0.1 51cto.com 即代表打开51cto.com这个网址将解析到127.0.0.1,ip地址与网址间至少要有一空格,另外在最后一行书写映射时一定要加上回车再保存以避免最后一行不生效,如果某条记录暂时不用,只需要在它前面加一个#号即可。
hosts文件默认具有隐藏属性,系统默认设置情况下是看不到的,解决办法是打开我的电脑-点击工具-文件夹选项-查看-取消勾选隐藏受保护的系统文件,确定即可。如果修改后无法保存,请在Hosts文件上面点右键-属性-把只读属性去掉即可保存。
在修改HOSTS文件时候,还常常遇到修改保存后无效的情况,我们可以使用ipconfig /flushdns命令来刷新dns缓存, 或者也可以在管理工具中打开服务,找到DNS Client将其停用并改为手动模式在修改完hosts启动。
注意:当你在打开浏览器的情况下修改hosts文件时,关闭浏览器时系统才会释放掉hosts文件占用的那部分内存,我们再次打开浏览器访问就发现已经生效了。
如果遇到windows 7 *** 作系统无法打开和编辑的情况,一般是因为安全机制UAC造成的,你可以按着Shift键,然后Hosts文件上面右键,以管理员方式运行即可。或者修改Hosts文件权限,将当前登录的账号加入到安全选项卡中,赋予写入权。
还有一种方法就是打开本地连接的Internet(TCP/IP)协议的属性页,点击常规选项卡中的高级按钮,选择WINS选项卡,勾选启用 LMHOSTS 查询,接着按下导入 LMHOSTS按钮,导入hosts文件,这样再次启动浏览器时,就会发现hosts文件生效了。
你的/etc/hosts的属性为只读,不能写入。两种方法:
1>
增加该文件写的权限,重新编辑保存
2>
不更改该文件的权限,用vi编辑后,在你保存退出时,如使用w,使用x!即可
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)