在Ubuntu 10.10上运行Mysql的Chroot?

从一个关于MySQL服务器安全最佳实践的问题提示,我已经通过这个列表(有一些小的改动)来正确地保护我的服务器数据库服务器:

http://www.greensql.net/publications/mysql-security-best-practices

在步骤10中,我被告知使用chroot来更改mysql用户的根目录,但是提供了很less的细节,我不知道从哪里开始。 有谁知道一个很好的资源,通过步骤来正确地创build一个Ubuntu 10.10 chrooted环境?

在MySQL工作的chroot中,基本上必须重新创build一个单独的Linux发行版。

我把我的数据库(MySQL和PostreSQL)放入OpenVZ容器 – 这是chroot,但更多。 它提供了chroot不提供的其他function:资源控制,networking隔离等等。 主要的好处是,它为我做了一切 – 我只是select一个容器的模板 ,运行vzctl create 101 --ostemplate ubuntu-10.10-x86_64 ,我有一个容器(一个工作的chroot ++)准备好了。

要使容器投入生产,我必须设置一个本地或公共IP地址,并增加默认的资源限制。

要获得OpenVZ,必须安装并重新引导到一个OpenVZ打补丁的内核中,这个内核在许多主要的Linux内核中都可用,但不幸的是, OpenVZ已经作为官方的Ubuntu软件包而停止使用 。 它在Debian中得到支持,并将在Debian 6.0中。

我的猜测是,该指南的作者将Chroot jail作为其大纲中的一个要点,但是随后明确指出让MySQL在chroot监狱中正常工作并不是微不足道的。

基本上,chroot监狱任何守护进程都包括build立一个环境,在这个环境中,守护进程将在监狱内find它需要的所有文件系统资源,其中可能包括诸如/ etc / {passwd,group},/ usr / {bin,lib} /,/ var / {log,run,lib} /,等等。 每个守护进程都有不同的具体需求,所以不幸的是,没有一个通用的chroot指南。

如果你真的关心chroot jailing MySQL的话,我发现了一个Debian / Ubuntu特有的配方 ,至less有一个评论者声称可以像Debian Lenny和MySQL 5那样声称。