修改配置文件的Web界面最佳实践

3
对于一个新项目,我需要编写一个具有修改配置文件能力的Web界面。该系统是标准的Debian安装,带有Apache和PHP5。目前我唯一想到的是编写小的C程序,并将setuid位设置为root,并将要插入配置文件的字符串作为参数提供。但是出于安全原因,我真的对此感到非常不安,因为我宁愿避免在我的系统中使用任何setuid程序。不幸的是,如果配置文件没有独占的root权限,那么所属的程序将拒绝启动。

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

先行致谢


你指的是哪个具体的配置文件? - user400850
特别是位于用户主目录下的“.authorized key”密钥文件。我希望用户能够在Web界面上粘贴他的公钥,以便他可以使用SSH。不幸的是,“.ssh/authorized key”文件需要具有600权限,并由用户拥有。 :-( - ftiaronsem
1个回答

2
你完全不需要 Web 服务器来编写这个文件。实际上,这似乎是个非常糟糕的想法。我假设这是一个仅限内部网络的网站?如果我是你,我会在数据库中简单存储公钥,然后编写一个 cron job 脚本来验证证书并插入它。当然,该脚本必须以 root 用户身份运行(将其放入 root 的 crontab 中),但您无需担心 Web 服务器以 root 权限编写文件。 :)

谢谢,确实是一个内部网站^^。使用数据库的想法听起来不错,我会尝试一下。 - ftiaronsem
甚至可以让Python生成密钥对,这似乎是可行的。请参见https://dev59.com/fHE95IYBdhLWcg3wE52C - Bretticus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接