如何通过lighttpd阻止执行root拥有的文件?

如何通过lighttpd阻止执行root拥有的文件?

我创建了一个组和一个用户来运行lighttpd。

我想从 Web 服务器仅运行具有这些权限的文件 (myuser:mygroup)。我不想以 root 权限运行文件。

这可能吗?

答案1

权限可以在这里提供帮助。

lighttpd以受限用户身份运行。我相信您可以指定将lighttpd自身降级到 in 的用户和组lighttpd.conf

然后,确保您的可执行文件可由 lighttpd 访问但由 root 拥有,并且已chmod编辑为700.这使得只有 root(文件所有者)才能执行它们。对于 root 拥有的目录,请小心设置此项,因为需要目录的执行权限才能访问其内容。

如果您希望确保lighttpd无法以任何方式访问您授权之外的文件,请查看lighttpdchroot选项。这使得特定目录看起来像/顶级目录 to ,从而lighttpd阻止它访问该点“之上”的任何内容。

如果您使用 php 或 perl 等脚本解释器,则可能会涉及到这一点,因为lighttpd需要能够访问它们,因此您需要将它们及其依赖项(包括配置文件)的副本放在“chroot监狱”中,因为它是叫。这不仅仅是复制可执行文件的问题,您需要复制所有库(这可以通过ldd {executable-name}. 来识别)和其他依赖项,然后您负责在更新 php 或 perl 时手动更新它。

相关内容