LINUX.ORG.RU
ФорумAdmin

BIND 9.1.0 на ядре 2.2.16 (RedHat 7.1)


0

0

Поставил, а оно оказывается не поддерживается. В скриптах запуска прописано named -u named типа под юзером named. И вот оно ругается, что не поддерживается этот ключик. Когда пытаешься запускать без ключика, то пишется, что сервис запускается, но на самом деле нет!
Вот что в логах (это если без ключика):

Jan 16 13:34:15 ns named[2289]: starting BIND 9.1.0
Jan 16 13:34:15 ns named[2289]: using 1 CPU
Jan 16 13:34:15 ns named[2293]: loading configuration from '/etc/named.conf'
Jan 16 13:34:16 ns named[2293]: the default for the 'auth-nxdomain' option is now 'no'
Jan 16 13:34:16 ns modprobe: modprobe: Can't locate module net-pf-10
Jan 16 13:34:16 ns named[2293]: no IPv6 interfaces found
Jan 16 13:34:16 ns named[2293]: listening on IPv4 interface lo, 127.0.0.1#53
Jan 16 13:34:16 ns named[2293]: listening on IPv4 interface eth0, 10.0.0.1#53
Jan 16 13:34:16 ns named[2293]: listening on IPv4 interface eth1, 195.58.5.170#53
Jan 16 13:34:16 ns named[2293]: listening on IPv4 interface eth2, 195.58.5.190#53
Jan 16 13:34:16 ns named[2293]: listening on IPv4 interface eth2:0, 10.1.0.1#53
Jan 16 13:34:16 ns named[2293]: couldn't open pid file '/var/run/named/named.pid': Permission denied
6 13:34:16 ns named[2293]: exiting (due to early fatal error)

Скажите, можно ли это как-то обойти??

Дело в том, что старый БИНД у меня глючил(периодически он переставал слушать интефесы). Добрые люди посоветовали обновить...и вот....
главное встал он нормально, правда из РПМ. Может надо самому скомпилить....
А может кто подскажет в чем дело с 8-мым BIND?

Вобщем любые идеи предложения приветствуются.
Заранее спасибо!

anonymous

1. Опция -u на ветке 2.2 не работает 2. Проверь права доступа на /var/run/named/ и удали старый named.pid

pulsar
()

Посмотри здесь на форуме SECURITY на пред- или предпредпоследней странице есть
обсуждение как скомпилить Bind на твоей ветке ядра чтобы bind поддерживал
опцию -u

anonymous
()

http://www.linux.org.ru/jump-message.jsp?msgid=114745
Вот ссылка, хотя при повторном прочтении показалось, что автор, утверждавший
, что у него named запустился от другого юзера, посредством опции
"--disable-threads" при сборке bind'a, чего-то не допонял :)
Насколько я знаю, эта опция делает возможным запуск единственной копии named
В общем, если получится, отпиши здесь, будем знать :)

anonymous
()


От автора, "который чего-то не допонял" :)

Вы документацию внимательно читаете ?
Вот первый вопрос/ответ из ФАКа, который идет вместе с БИНДом 9.1.3.
За 9.1.0 ничего сказать не могу - не видел.

/Обратите внимание на последний абзац/

Q: Why doesn't -u work on Linux 2.2.x?

A: Linux threads do not fully implement the Posix threads (pthreads) standard.
In particular, setuid() operates only on the current thread, not the full
process. Because of this limitation, BIND 9 cannot use setuid() on Linux as it
can on all other supported platforms. setuid() cannot be called before
creating threads, since the server does not start listening on reserved ports
until after threads have started.

In the 2.3.99-pre3 and newer kernels, the ability to preserve capabilities
across a setuid() call is present. This allows BIND 9 to call setuid() early,
while retaining the ability to bind reserved ports. This is a Linux-specific
hack.

On a 2.2 kernel, BIND 9 does drop many root privileges, so it should be less
of a security risk than a root process that has not dropped privileges.

If Linux threads ever work correctly, this restriction will go away.

Configuring BIND9 with the --disable-threads option causes a non-threaded
version to be built, which will allow -u to be used.


Если я действительно чего не допонял, то поправьте.
Может в качестве доказательства какие-нибудь логи сюда выложить ?

RTFM
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.