我创建了一个组和一个用户来运行lighttpd。
我想从 Web 服务器仅运行具有这些权限的文件 (myuser:mygroup)。我不想以 root 权限运行文件。
这可能吗?
答案1
权限可以在这里提供帮助。
lighttpd
以受限用户身份运行。我相信您可以指定将lighttpd
自身降级到 in 的用户和组lighttpd.conf
。
然后,确保您的可执行文件可由 lighttpd 访问但由 root 拥有,并且已chmod
编辑为700
.这使得只有 root(文件所有者)才能执行它们。对于 root 拥有的目录,请小心设置此项,因为需要目录的执行权限才能访问其内容。
如果您希望确保lighttpd
无法以任何方式访问您授权之外的文件,请查看lighttpd
的chroot
选项。这使得特定目录看起来像/
顶级目录 to ,从而lighttpd
阻止它访问该点“之上”的任何内容。
如果您使用 php 或 perl 等脚本解释器,则可能会涉及到这一点,因为lighttpd
需要能够访问它们,因此您需要将它们及其依赖项(包括配置文件)的副本放在“chroot监狱”中,因为它是叫。这不仅仅是复制可执行文件的问题,您需要复制所有库(这可以通过ldd {executable-name}
. 来识别)和其他依赖项,然后您负责在更新 php 或 perl 时手动更新它。