0

我想构建一个基于 Web 的前端来管理/管理我的 Linux 机器。例如,我希望能够添加用户、管理文件系统和所有这些事情。将其视为 cPanel 克隆,但更多的是系统管理员而不是 Web 管理员。

我正在考虑创建一个在我的盒子上运行并执行所有系统级别任务的服务。通过这种方式,我可以清楚地区分基于 Web 的前端和实际逻辑。服务器页面可以通过这种方式调用我的专用服务器或排队任务。但是,我不确定这是否是解决此问题的最佳方法。

我想另一个重要的问题是,在构建这样的东西时我将如何处理安全问题?

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

4

2 回答 2

1

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

几个建议:

  1. 将“专业服务”绑定到 localhost 也将有助于确保无法从外部发出请求。
  2. 检查执行操作的请求调用函数,而不是直接为服务提供完全不受限制的访问权限。所以调用函数“addToGroup(user,group)”而不是通用的“performAction(command)”。
于 2008-11-29T00:39:48.210 回答
1

让专门的服务守护进程以不同的用户身份运行——我们称之为“managerd”。设置您的 /etc/sudoers 文件,以便“managerd”可以执行您希望它能够以 root 身份运行的各种命令,而无需密码。

让 Web 服务器删除“触发器”文件,其中包含要在模式为“770”的目录中运行的命令,该目录中的组只有 Web 服务器用户和“managerd”是其成员。确保“managerd”在执行命令之前验证文件拥有正确的所有权。

确保 Web 界面端已锁定 - 仅通过 HTTPS 运行它,需要身份验证,如果可能,请放入特定于 IP 的 ACL,以便您只能提前从已知位置访问它。

于 2008-11-29T03:56:42.150 回答