【发布时间】:2012-07-31 04:21:16
【问题描述】:
我正在编写一个 perl cgi 应用程序。在某些时候,此 cgi 应用程序需要以 root 身份运行才能访问和写入特定文件。我想知道我应该如何做这件事以及我在做这件事时应该采取的安全预防措施。
【问题讨论】:
我正在编写一个 perl cgi 应用程序。在某些时候,此 cgi 应用程序需要以 root 身份运行才能访问和写入特定文件。我想知道我应该如何做这件事以及我在做这件事时应该采取的安全预防措施。
【问题讨论】:
你几乎不应该。
如果您无法避免,请创建一小段简单的代码,使用 setuid root 运行,只执行该任务,仅此而已,或者使用 sudo 或类似的代码来运行执行此操作的脚本。
为该文件提供适当的权限,以便您的网络用户可以对其进行写入(如果没有必要,不一定要从中读取)将是一个更好的选择。
【讨论】:
rm -rf / 是一个好的开始;-) 默认失败,只有在满足特定条件时才进行写入。
如果可以的话,一定要尽量避免这样做。
如果您的程序需要立即写入特权文件,请使用Mat's reply。 但是,您可以将内容写入其他地方并每五分钟运行一次 cron 作业(例如)以复制数据。
【讨论】: