[root@localhost etc]# named -g
11-May-2011 23:43:28.739 starting BIND 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2 -g
11-May-2011 23:43:28.739 adjusted limit on open files from 1024 to 1048576
11-May-2011 23:43:28.739 found 4 CPUs, using 4 worker threads
11-May-2011 23:43:28.739 using up to 4096 sockets
11-May-2011 23:43:28.743 loading configuration from '/etc/named.conf'
11-May-2011 23:43:28.745 using default UDP/IPv4 port range: [1024, 65535]
11-May-2011 23:43:28.745 using default UDP/IPv6 port range: [1024, 65535]
11-May-2011 23:43:28.747 listening on IPv4 interface lo, 127.0.0.1#53
11-May-2011 23:43:28.748 listening on IPv4 interface eth0, 192.168.1.41#53
11-May-2011 23:43:28.749 command channel listening on 127.0.0.1#953
11-May-2011 23:43:28.749 command channel listening on ::1#953
11-May-2011 23:43:28.749 ignoring config file logging statement due to -g option
11-May-2011 23:43:28.750 couldn't open pid file '/var/run/named/named.pid': Permission denied
11-May-2011 23:43:28.750 exiting (due to early fatal error)
[root@localhost etc]# chmod 777 /var/run/named/named.pid
chmod: 无法访问 “/var/run/named/named.pid”: 没有那个文件或目录

解答:

named  -g  -u named就可以了
所以你不需要更改什么权限,正常情况该文件拥有人是named 组也是named
权限大小应该是644就行了,只要服务能启动 就不许要管这个了
为什么会出现
11-May-2011 23:43:28.750 couldn't open pid file '/var/run/named/named.pid': Permission denied
因为这实际是一个降权过程
可以使用root去启动服务,但是启动完成服务后
你用ps aux | grep named就发现 其实实际进程拥有是named用户
这样做是为了进程安全,以免一崩而全垮,这是linux中常见做法。
 
 
有一种改权限的解答  chown named:root /var/run/named    不知道对不对
我认为与named 相关的文件都注意下下权限  我都改成 root.named   named.named的了