The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Решение проблемы резолвинга имен в php-fpm в chroot-режиме
В php-fpm chroot возникает проблема - не резолвятся DNS имена. В частности не
работает функция gethostbyname.

Причина проблемы в том, что в режиме chroot, php-fpm не видит файлов

   etc/hosts  
   etc/resolv.conf
   lib64/libnss_dns.so.2

   (или lib/libnss_dns.so.2 если система 32-х битная)

Простейшим выходом является создание жестких ссылок внутрь chroot-окружения.
Символические ссылки работать не будут, как и жесткие ссылки при размещении
chroot-области на другом дисковом разделе, в этом случае нужно просто
скопировать нужные файлы в chroot.

   #!/bin/bash

   export CHROOT_FPM="/opt/www/domain"

   mkdir $CHROOT_FPM/etc
   mkdir $CHROOT_FPM/lib64

   ln  /etc/hosts          $CHROOT_FPM/etc/hosts;
   ln /etc/resolv.conf     $CHROOT_FPM/etc/resolv.conf

   #ln /etc/nsswitch.conf     $CHROOT_FPM/etc/nsswitch.conf
   cp /lib64/libnss_dns.so.2  $CHROOT_FPM/lib64/libnss_dns.so.2


Имя библиотеки libnss_dns возможно придется подкоректировать.
После копирования/создания ссылок на нужные файлы, нужно обязательно перезапустить php-fpm.
 
27.09.2010 , Автор: gara
Ключи: chroot, php-fpm / Лицензия: CC-BY
Раздел:    Корень / Безопасность / Помещение программ в chroot

Обсуждение [ RSS ]
  • 1.1, MicRO (ok), 12:06, 27/09/2010 [ответить]  
  • +/
    lib64/libnss_dns.so.2
    (или lib64/libnss_dns.so.2 если система 32-х битная)

    а если нет разницы :)

     
  • 1.2, Fcuku (ok), 10:51, 29/09/2010 [ответить]  
  • +/
    Эээ...
    А разве не принято еще на этапе планирования переносить в chroot, jail и прочие "клетки" все требуемые файлы?
    О чем, ваще, сыр-бор то?
     
     
  • 2.3, vgray (??), 07:43, 03/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    +1, лет 5 назад я даже в инете скрипт находил, который через ldd анализировал все вайлы и перетаскивал в chroot все зависимости.

    Потом меня это задолбало, и я стал в chroot строить полную ситему используя rpm, а потом перешел на виртуализацию :)

     

  • 1.4, Анон (?), 14:11, 07/10/2010 [ответить]  
  • +/
    >Резолвинга

    А русский языка забыли?

     
     
  • 2.5, vgray (ok), 10:33, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>Резолвинга
    > А русский языка забыли?

    А мы на уроке русского языка? Все поняли о чем идет речь, напишите автору в личку , если считаете нужным.


     
     
  • 3.6, Анон (?), 16:59, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Мы вроде не уроды с тремя классами церковно-приходской школы за плечами. Слово "разрешение" в данном контексте вполне устоявшийся термин.
     
     
  • 4.7, Аноним (-), 18:06, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Мы вроде не уроды с тремя классами церковно-приходской школы за плечами. Слово
    > "разрешение" в данном контексте вполне устоявшийся термин.

    "Резолвинг" как раз устоявшийся термин, точно указывающий на то о чем идет речь. А "разрешение" абсолютно ничего не говорящее слово, которое с тем же успехом может на ограничение доступа указывать, вот и догадывайся потом что подразумевал автор.

    В nic.ru, например,  пишут именно резолвинг http://info.nic.ru/st/42/out_1349.shtml "В первую очередь пройдут лабораторные тесты, направленные на исследование правильности резолвинга, максимальной и минимальной длины доменного имени..."

     
     
  • 5.8, Анон (?), 23:23, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >  А "разрешение" абсолютно ничего не говорящее слово, которое с тем
    > же успехом может на ограничение доступа указывать, вот и догадывайся потом
    > что подразумевал автор.

    Ну, в русском языке "разрешение" имеет два значения -
    1.предоставление привилегий
    2.решение проблемы
    Они вполне полноправны. В данном случае, точным значением будет "решение проблемы" - преобразования имен в IP-адреса.
    Здесь ведь нет ситуации когда для англоязычного термина не существует точного русскоязычного аналога, как в каком-нибудь, прости, господи, мерчендайзинге.
    З.Ы. Мне вот  просто глаз режет, я может классических русскоязычных трудов по сетям перечитал)
    З.З.Ы. Неплохо статью обсуждаем)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру