解决Linux下DNS(Bind)配置完成后启动服务失败但不报错怪相

今天做实验遇到一个很简单的问题纠结自己。DNS配置完成以后启动服务失败,但不报错。首先装好DNS服务相关软件包,启动直接启动DNS服务:成功。关闭服务:直接copy默认配置文件named.caching-nameserver.conf改名然后启动DNS服务:失败。mv回去再次启动失败。

实在没办法,突然想到“当没有办法立即解决系统问题的时候,记得看日志”查看/var/log/messages 日志文件发现

第一次成功开启记录
:zone localdomain/IN/localhost_resolver:
loaded serial 42
: zone localhost/IN/localhost_resolver:
loaded serial 42
: running

第一次失败的记录
:none:0: open: /etc/named.conf: permission denied
:loading configuration: permission denied
:exiting (due to fatal error)

第二次改回默认文件名的失败记录
:none:0: open: /etc/named.caching-nameserver.conf: permission denied
:loading configuration: permission denied
:exiting (due to fatal error)

可以看到都是权限拒绝,但我用的是root用户。那么应该是有特定用户来开启。查看用户文件夹/etc/passwd,发现果然有named这个用户。再查看配置文件宿主和属组,可以看到宿主是root。然后把宿主改为named用户,启动服务DNS成功。

虽然是个小问题,不过对于初学者可能会造成困扰。所以要有看日志的好习惯。任何问题解决如果思路清晰了解决起来还是很简单的。(安修)

One thought on “解决Linux下DNS(Bind)配置完成后启动服务失败但不报错怪相

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>