lexsys Asked: 2009-08-04 01:29:44 +0800 CST2009-08-04 01:29:44 +0800 CST 2009-08-04 01:29:44 +0800 CST chroot perl 脚本的正确方法是什么? 772 我在其中创建/opt/chroot、创建bin lib和其他目录,在适当的位置复制了库、bash 和 perl 二进制文件。我也将我的脚本放入/opt/chroot/bin/. 现在我可以这样运行脚本: # chroot /opt/chroot script.pl 我担心两件事: 脚本获得根权限。 在 chrooted 环境中有一个 perl 解释器。 如何避免这些安全漏洞? security perl chroot 2 个回答 Voted Best Answer LapTop006 2009-08-04T03:40:46+08:002009-08-04T03:40:46+08:00 linux上的 chroot 不是为了安全,如果你有 root,或者在 chroot 中挂载 abilites 很容易突破。 您显然应该使用 su 或类似方法删除 root,只要脚本没有修改解释器文件的权限,就不会有问题。 为此,您需要在 su 的副本中添加更大的代码块,以及 PAM 的核心位。 像 jailkit 这样的东西可能是一种更简单的管理方法: http://olivier.sessink.nl/jailkit/index.html sucuri 2009-08-05T04:36:59+08:002009-08-05T04:36:59+08:00 你为什么不在你的 perl 脚本中 chroot 呢?这样,您就不需要 chroot 监狱中的所有额外内容。 只需在脚本中的某个位置添加 chroot() http://perldoc.perl.org/functions/chroot.html,然后添加 chdir("/")。 在那之后,放弃你的特权,你就设置好了。
linux上的 chroot 不是为了安全,如果你有 root,或者在 chroot 中挂载 abilites 很容易突破。
您显然应该使用 su 或类似方法删除 root,只要脚本没有修改解释器文件的权限,就不会有问题。
为此,您需要在 su 的副本中添加更大的代码块,以及 PAM 的核心位。
像 jailkit 这样的东西可能是一种更简单的管理方法:
http://olivier.sessink.nl/jailkit/index.html
你为什么不在你的 perl 脚本中 chroot 呢?这样,您就不需要 chroot 监狱中的所有额外内容。
只需在脚本中的某个位置添加 chroot() http://perldoc.perl.org/functions/chroot.html,然后添加 chdir("/")。
在那之后,放弃你的特权,你就设置好了。