2012-07-31 82 views

回答

6

你几乎不应该。

如果你无法避免它,那么创建一个小而简单的代码,该代码与setuid root一起运行,完全不需要执行该任务,或者使用sudo或类似的代码运行脚本。

给予该文件适当的权限,以便您的Web用户可以写入(如果没有必要,不一定从中读取)将是更好的选择。

+0

+1“你不应该”。当然,OP将会使用污点检查并将输入与严格的规则进行比较。从shell脚本中除去'rm -rf /'是个不错的开始;-)默认情况下失败,只有在符合特定条件时才执行写操作。 – amon 2012-07-31 04:35:24

+0

你是否建议使用system(“echo pass | sudo -s mine.pl params”)来调用它,还是有更安全的方法? – user1179510 2012-07-31 05:11:52

+2

没有密码!为您的网络用户和特定脚本配置sudo而无需输入密码。确保在将脚本传递给脚本之前,强制验证脚本的任何参数。 – Mat 2012-07-31 05:13:08

0

如果您可以随时通过任何方式,您必须避免这样做。

如果您的程序需要立即写入特权文件,请使用上述回复。但是,您可以将内容写入其他地方并每五分钟运行一次cron作业(比如说)以复制数据。

相关问题