2010-07-30 46 views
3

对于一个新项目,我必须编写一个web界面,它可以修改配置文件。这个系统运行的是标准的debian安装,带有apache和php5。 我到目前为止唯一的想法是编写小型c程序,将setuid位设置为root,并将该字符串作为参数提供给配置文件。不过,我真的对此感觉不好,因为出于安全原因,我宁愿避免在我的系统中使用任何setuid程序。 不幸的是,如果配置文件没有独占的根权限,巫婆配置文件的程序属于拒绝启动。Web界面修改配置文件的最佳实践

webmin这样的项目如何解决这个问题?我真的很感谢一些最佳实践经验,以及如何实现这一点。

在此先感谢

+0

你指的是什么特定的配置文件? – user400850 2010-08-01 10:47:11

+0

特别是用户主目录中的.authorized密钥文件。我希望用户能够将他的公钥粘贴到Web界面上,以便他能够使用ssh。不幸的是,.ssh /授权密钥文件需要拥有600个权限,而用户拥有它。 :-( – ftiaronsem 2010-08-01 11:34:37

回答

2

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

+0

感谢,它被认为是一个内联网网站^^。数据库的想法听起来不错,我会试试看。 – ftiaronsem 2010-08-08 08:11:16

+0

你甚至可以尽可能的让python做key-gen,它会出现。请参阅http://stackoverflow.com/questions/2466401/how-to-generate-ssh-key-pairs-with-python – Bretticus 2010-08-10 18:29:37