chroot Linux中的所有服务
如果你运行ssh和dns,它可以写成,
最后在系统日志文件中要注意的是,我希望它可以在一个non-root account下运行。我实验了几个简单的操作,但是都不行,最后我放弃了。如果真的能够在一个non-root account的情况下运行系统日志备份的话,安全问题将会更完善。
它非常容易。我只要一设置好它,就可以运行我的perl脚本。现在我的配置文件相当大,因为我将Perl脚本和PostgerSQL数据库都放进了已经chrooted的区域。有一件事情你要注意,如果你连接到了一个数据库,确信你的数据库是在127.0.0.1闭合回路中运行,而且你要确信你的主机在Perl脚本中为了DBI模块必须是127.0.0.1。下面是我在apache中使用持续的连接来连接一个数据库:
来源: http://httpd.apache.org/dist/httpd/ 在你的主系统中编译和安装apache到/usr/local/apache。然后运行perl脚本。
我改变我的httpd.conf文件得到这些材料:
然后,指定你的浏览器到http://127.0.0.1/server-status 或 http://127.0.0.1/server-info 。
首先,理想的情况下,我们将ssh连接到端口22到端口2222。然后,当你启动ssh,在一个non-root account下将它连接到端口2222。在起始的ssh连接中,我们使用密码来确保有一个安全的帐号,这个密码只起限制进入系统的人的作用,除此以外起不了其他的作用。当他们登录系统后,是第二个ssh程序,这个程序运行在端口127.0.0.1至127.0.0.2322,这样,才能连接到真正的系统—— 这第二个ssh程序只听命于循环装置。现在,这些都要你动手一试。我就不再做这些事了。我要做的就是chroot ssh。需要你亲手做的包括将ssh放在一个non-root account下,安装第二个ssh程序,而且这个ssh程序只听命于循环设备,这样才能让人们进入真正的系统。 然后,我们打算仅仅chroot ssh,而且,你也可以考虑考虑这样做的后果(如果你这么做的话,你不能看见整个系统)。同样,我可以使用OpenSSH,但是我为了简单使用的是商务SSH(这并不是一个好的借口)。 来源:http://www.ssh.com/products/ssh/download.cfm 安装ssh在/usr/local/ssh_chroot。然后使用Perl脚本。
如果你想在一个已经chroot的环境下使用它来代替一个ftp的话,无疑它是一件好事,它将限制人们接近你的领地。Rsync和SCP相互结合运行得很好,让人们上传文件。我并不是真的喜欢将一个ftp放上去,以供人们运行。很多ftp服务都已经被chroot了,但事它们仍然可以透明的传递密码,这是我不喜欢的。
它和perl一样简单,除了它需要更多一些的库文件以外。总的来说,它并不难做。我必须要做的事情是把PostgreSQL在网络上打开,而且只能在循环设备上。因为它事被chroot的,所以其他的chrooted的服务不能到达它,象apache web服务。我将Perl编译成PostgreSQL,所以我需要将大量的Perl材料加入到配置文件中。 来源: ftp://ftp.us.postgresql.org/source/v7.1.3/postgresql-7.1.3.tar.gz 编译和安装apache在你的主系统中的/usr/local/postgres下。然后运行Perl脚本。
|