【问题标题】:Best practice for Web-Interface modifying config-fileWeb 界面修改配置文件的最佳实践
【发布时间】:2010-08-05 11:45:33
【问题描述】:

对于一个新项目,我必须编写一个webinterface,它具有修改配置文件的能力。它将运行的系统是带有 apache 和 php5 的标准 debian 安装。 到目前为止,我想出的唯一想法是编写小型 c 程序,将 setuid 位设置为 root 并提供要插入到配置文件中的字符串作为参数。但是我对此真的有一种不好的感觉,因为出于安全原因,我宁愿避免在我的系统中使用任何 setuid 程序。 不幸的是,如果配置文件没有独占的root权限,则该配置文件所属的程序将拒绝启动。

像 webmin 这样的项目如何解决这个问题?我真的很感激一些关于如何实现这一点的最佳实践技巧。

提前致谢

【问题讨论】:

  • 你指的具体配置文件是什么?
  • 尤其是用户主目录中的 .authorized 密钥文件。我希望用户能够将他的公钥粘贴到 Web 界面上,以便他能够使用 ssh。不幸的是 .ssh/authorized 密钥文件需要有 600 个权限,并且用户拥有它。 :-(

标签: php


【解决方案1】:

您根本不需要 Web 服务器来编写此文件。事实上,这似乎是一个非常糟糕的主意。我假设这是一个仅限 Intranet 的网站?如果是我,我只需将公钥存储在数据库中,然后让一个 cron 作业脚本通过并验证证书,然后插入它。当然,脚本必须以 root 身份运行(将其粘贴在 root 的 crontab 中),但您不必为您的网络服务器写入具有 root 权限的文件而失眠。 :)

【讨论】:

  • 谢谢,它是一个内网网站^^。数据库的想法听起来不错,我将尝试一下。
  • 你甚至可以让 python 做密钥生成,它会出现。见stackoverflow.com/questions/2466401/…
猜你喜欢
  • 2012-04-05
  • 1970-01-01
  • 2018-09-12
  • 2013-02-21
  • 2023-04-06
  • 1970-01-01
  • 2012-03-09
  • 2017-09-06
  • 1970-01-01
相关资源
最近更新 更多