lighttpd与系统之间访问权限的同步

时间:2010-08-25 07:32:54

标签: linux lua lighttpd

我们正在设计一个在现有Linux系统上运行的Web服务器应用程序。我们正在使用lighttpd服务器,现在遇到了一些安全问题。 由于各种原因,我们选择了Lua来开发我们的应用程序。 由于我们现有的用户使用ssh登录到计算机,因此我们希望通过Web界面登录的用户使用相同的访问级别,用户名和密码。 优选地,执行动作的用户(他们正在访问系统上的各种配置文件)应该具有由OS而不是web服务器处理的文件的访问权限。 这里有什么建议?

提前致谢!

1 个答案:

答案 0 :(得分:1)

您的问题是,当用户登录时,您无法更改服务器运行的用户。因此,只要您保持在上下文中,就无法使用操作系统级安全性来控制文件访问权限。服务器的过程。

您可以将所有用户和Web服务器放在一个组中,并使用umask 002确保该组的所有成员都可以访问所有文件。在您的LUA代码中,您需要检查当前用户是否是文件的所有者,否则拒绝操作。

如果必须创建新文件,则需要一个SUID程序,可以将文件的所有者从“webserver”更改为“user”。

或者,您可以创建一个SUID程序,该程序可以更改它的UID并接受来自Web服务器的命令。当用户登录时,使用用户的UID启动程序,然后告诉它要访问哪些文件。