2008-11-29 70 views
0

我想建立一个基于Web的前端来管理/管理我的Linux机器。例如。我希望能够添加用户,管理文件系统和所有这些事情。把它看作cPanel克隆,但更多的是系统管理员,而不是web管理员。Linux的Web前端的最佳实践

我在想创建一个在我的箱子运行,并执行所有的系统级别任务的服务。通过这种方式,我可以将基于Web的前端和实际逻辑分开。服务器页面可以通过这种方式调用我的专用服务器或队列任务。但是,我不确定这是否是最好的方法。

我想另一个重要的问题是,建立这样的事情时,我将如何处理安全?

PS:这只是一个宠物项目和学习经验,所以我不感兴趣,认为存在做类似的事情解决方案。

回答

1

让专门的服务守护程序作为不同的用户运行 - 我们称之为'管理员'。设置你的/ etc/sudoers文件,这样'managerd'可以执行你希望它能够以root身份运行的各种命令,而不需要密码。

在Web服务器降包含命令“触发”文件的目录中是模式“770”与一组只有与Web服务器用户和“managerd”是成员运行。确保'managerd'在执行命令之前验证文件是否拥有正确的所有权。

确保Web界面一侧被锁定 - 仅通过HTTPS运行它,要求进行身份验证,并且如果所有可能都放入IP特定的ACL中,以便您只能从已知位置访问它。

1

您的解决方案似乎是一个非常明智的解决方案,以“根”的问题。

夫妇的建议:

  1. 绑定“专业的服务”为localhost也将有助于保证请求不能从外部取得。
  2. 检查执行操作的请求调用函数,而不是直接授予服务完全不受限制的访问权限。所以调用函数“addToGroup(user,group)”而不是通用的“performAction(command)”。