mysql> show databases;Bem, quando tiver pachorra, escrevo um artigo sobre como correr o Apache também em ambiente chrooted e como integrar com o PHP e o MySQL de modo a fazer um todo coerente.
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)mysql> quit;
Adiante para o chroot...
É necessário criar a seguinte estrutura de directórios:
# mkdir -p /chroot/mysql/dev
# mkdir -p /chroot/mysql/etc
# mkdir -p /chroot/mysql/tmp
# mkdir -p /chroot/mysql/var/tmp
# mkdir -p /chroot/mysql/usr/local/mysql/libexec
# mkdir -p /chroot/mysql/usr/local/mysql/share/mysql/english
Os direitos de acesso a estes directórios devem ser os seguintes:# chown -R root:sys /chroot/mysql
# chmod -R 755 /chroot/mysql
# chmod 1777 /chroot/mysql/tmp
Agora, têm que ser copiados alguns ficheiros para esta estrutura de directórios:
# cp /usr/local/mysql/libexec/mysqld
/chroot/mysql/usr/local/mysql/libexec/
# cp /usr/local/mysql/share/mysql/english/errmsg.sys
/chroot/mysql/usr/local/mysql/share/mysql/english/
# cp /etc/hosts /chroot/mysql/etc/
# cp /etc/host.conf /chroot/mysql/etc/
# cp /etc/resolv.conf /chroot/mysql/etc/
# cp /etc/group /chroot/mysql/etc/
# cp /etc/master.passwd /chroot/mysql/etc/passwords
# cp /etc/my.cnf /chroot/mysql/etc/
Dos ficheiros /chroot/mysql/etc/passwords e /chroot/mysql/etc/group,
removem-se todas as linhas, excepto as respeitantes ao MySQL.
Tem que ser criado um device file especial para o /dev/null:# mknod /chroot/mysql/dev/null c 2 2O MySQL está pronto a ser executado num ambiente chrooted:
# chown root:sys /chroot/mysql/dev/null
# chmod 666 /chroot/mysql/dev/null
E copiar a base de dados dos previlégios do MySQL:
# cp -R /usr/local/mysql/var/ /chroot/mysql/usr/local/mysql/var
# chown -R mysql:mysql /chroot/mysql/usr/local/mysql/var
#chrootuid /chroot/mysql mysql /usr/local/mysql/libexec/mysqld &
A subscrição é anónima e gera, no máximo, um e-mail por dia.