The OpenNET Project / Index page

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

Решение проблемы резолвинга имен в 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, 12:06, 27/09/2010 [ответить] [смотреть все]
  • +/
    lib64/libnss_dns.so.2
    (или lib64/libnss_dns.so.2 если система 32-х битная)

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

     
  • 1.2, Fcuku, 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, 10:33, 08/10/2010 [^] [ответить] [смотреть все]
  • +/
    >>Резолвинга
    > А русский языка забыли?

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


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

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

     

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



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor