Автор Тема: Mysql chroot  (Прочетена 2893 пъти)

st_dimitrov

  • Напреднали
  • *****
  • Публикации: 102
    • Профил
    • WWW
Mysql chroot
« -: Mar 12, 2006, 21:53 »
цял ден се опитвам да заключа mysql в chroot но все ми бяга...

Примерен код

root@darkstar:/backup/chroots/mysql# chroot /backup/chroots/mysql/ /usr/local/mysql/bin/mysqld_safe --user=mysql
chown: `mysql': invalid user
Starting mysqld daemon with databases from /usr/local/mysql/data
STOPPING server from pid file /usr/local/mysql/data/darkstar.pid
060312 19:49:23  mysqld ended

root@darkstar:/backup/chroots/mysql#


Примерен код

root@darkstar:/backup/chroots/mysql# chroot /backup/chroots/mysql/ /bin/bash
I have no name!@darkstar:/# cat /etc/passwd | grep mysql
mysql:x:1000:100::/home/mysql:
I have no name!@darkstar:/# exit
exit
root@darkstar:/backup/chroots/mysql#  


?! Рових се известно време в гугъл и намерих един пич, който е имал същия проблем, но е с  бсд  явно... препратка

Помагайте  '<img'>
Активен

daf

  • Участници
  • ***
  • Публикации: 3
    • Профил
Mysql chroot
« Отговор #1 -: Mar 12, 2006, 22:45 »
Нямам линукс под ръка но си мисля, че може да е проблем с pam модулите. Копирай в chroot-a `id` и пробвай `id mysql`... вероятно ще ти изкара грешка, която ще те насочи към решението.
Активен

st_dimitrov

  • Напреднали
  • *****
  • Публикации: 102
    • Профил
    • WWW
Mysql chroot
« Отговор #2 -: Mar 12, 2006, 23:13 »
root@darkstar:/backup/chroots/mysql# chroot /backup/chroots/mysql/ /bin/bash

I have no name!@darkstar:/# echo `id mysql`
id: mysql: No such user

I have no name!@darkstar:/# echo `id`
uid=0 gid=0 groups=0,1,2,3,4,6,10,11
I have no name!@darkstar:/# exit
exit
root@darkstar:/backup/chroots/mysql#
Активен

daf

  • Участници
  • ***
  • Публикации: 3
    • Профил
Mysql chroot
« Отговор #3 -: Mar 13, 2006, 02:59 »
пробвай да копираш /etc/pam.d в chroot-а.
Активен

st_dimitrov

  • Напреднали
  • *****
  • Публикации: 102
    • Профил
    • WWW
Mysql chroot
« Отговор #4 -: Mar 13, 2006, 07:11 »
Нямам PAM '<img'>
Активен

vesselinkolev

  • Напреднали
  • *****
  • Публикации: 93
    • Профил
Mysql chroot
« Отговор #5 -: Mar 13, 2006, 10:04 »
Понеже гледам, че никой не дава един нормален отговор (това с PAM беше наистина много сърцераздирателно, все едно в chroot ще имаш процеси на удостоверяване).

Схемата е следната. В chroot трябва да имаш glibc, или поне онази част от този пакет, която да ти дава възможност да работиш с nsswitch.conf.

Виж както ще ти даде като списък с библиотеки следния команден ред:

$ ldd /usr/local/mysql/bin/mysqld_safe

Вземи този списък и файловете от него копирай chroot директорията, в поддиректориите, в които следва да бъдат библиотеките. Т.е. всичко, което е в /lib, отива в ${CHROOT_DIR}/lib и т.н.

Само предположение (не съм заключвал mysql), но в /etc поддиректорията в chroot, трябва да имаш задължително следните файлове:

group
host.conf
hosts
hosts.allow
hosts.deny
localtime
nsswitch.conf
passwd
resolv.conf
services

Именно в passwd ще опишеш потребителя, с чиито права ще стартираш mysql процеса. Не те съветвам в chroot средата да слагаш каквито и да са командни интерпретатори. В твоя случай това може даже да е опасно. Т.е. в ${CHROOT_DIR}/bin не бива да има примерно bash, sh и т.н. интерпретатори.
Активен

st_dimitrov

  • Напреднали
  • *****
  • Публикации: 102
    • Профил
    • WWW
Mysql chroot
« Отговор #6 -: Mar 13, 2006, 13:42 »
mysql-a ми е от готов пакет - статично компилиран... лд и лдд нищо не ми връщат '<img'> интерпретатора съм го сложил за да мога от самия затвор да достигам по-лесно базата данни.. когато оправя всичко ги махам...

mysqld_safe представлява един шел скрипт, като реално изпълнимия файл е mysqld

root@darkstar:/backup/chroots/mysql# ldd usr/local/mysql/bin/mysqld
        not a dynamic executable
root@darkstar:/backup/chroots/mysql#  

root@darkstar:/backup/chroots/mysql# ld usr/local/mysql/bin/mysqld
ld: warning: cannot find entry symbol _start; defaulting to 00000000080480e0
root@darkstar:/backup/chroots/mysql#  

root@darkstar:/backup/chroots/mysql# head usr/local/mysql/bin/mysqld -c 29 && echo ""
ELF4
root@darkstar:/backup/chroots/mysql#

приемам всякакви насоки  ':huh:'
Активен

vesselinkolev

  • Напреднали
  • *****
  • Публикации: 93
    • Профил
Mysql chroot
« Отговор #7 -: Mar 13, 2006, 18:59 »
Цитат (st_dimitrov @ Март 13 2006,14:42)
mysql-a ми е от готов пакет - статично компилиран... лд и лдд нищо не ми връщат '<img'> интерпретатора съм го сложил за да мога от самия затвор да достигам по-лесно базата данни.. когато оправя всичко ги махам...

Това не променя много задачата. Няма да гадая (не знам с каква дистрибуция си), но можеш първо да копираш /lib в ${CHROOT_DIR}/lib. След това указаните от мен файлове в предишния ми отговор от /etc/ в ${CHROOT_DIR}/etc.

Може да се наложи да направиш и някой устройства в ${CHROOT_DIR}/dev (прмерно /dev/null, /dev/zero, /dev/random и /dev/urandom).
Активен

st_dimitrov

  • Напреднали
  • *****
  • Публикации: 102
    • Профил
    • WWW
Mysql chroot
« Отговор #8 -: Mar 17, 2006, 07:22 »
Проблема се оказа в библиотечката libnss_compat.so.2 '<img'>
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Sendmail+chroot
Настройка на програми
markelio 0 1628 Последна публикация Feb 20, 2004, 16:44
от markelio
Apache и chroot
Настройка на програми
jmarkov 0 1788 Последна публикация Dec 20, 2005, 21:44
от jmarkov
Chroot проблем ?
Настройка на програми
rers32e 7 3538 Последна публикация Mar 22, 2006, 09:01
от
Mysql в chroot проблем
Настройка на програми
toti84 0 1767 Последна публикация Mar 25, 2010, 11:50
от toti84
грешен chroot - CentOS не boot-ва
Хардуерни и софтуерни проблеми
de_dust2 0 2597 Последна публикация Jun 08, 2014, 14:52
от de_dust2