我在写一个perl cgi应用程序。在某个时间点,这个cgi应用程序需要以root身份运行以访问并写入特定文件。我想知道我应该如何去做这件事,以及我在做这件事时应该采取的安全防范措施。编写一个以根用户身份运行的perl cgi应用程序
0
A
回答
6
你几乎不应该。
如果你无法避免它,那么创建一个小而简单的代码,该代码与setuid root一起运行,完全不需要执行该任务,或者使用sudo
或类似的代码运行脚本。
给予该文件适当的权限,以便您的Web用户可以写入(如果没有必要,不一定从中读取)将是更好的选择。
0
如果您可以随时通过任何方式,您必须避免这样做。
如果您的程序需要立即写入特权文件,请使用上述回复。但是,您可以将内容写入其他地方并每五分钟运行一次cron作业(比如说)以复制数据。
相关问题
- 1. php-cgi以根用户身份运行
- 2. Setuid for iphone应用程序以根用户身份运行
- 3. X11:以另一个用户身份运行gnome应用程序
- 4. 以root用户身份以编程方式运行C程序
- 5. 我如何以另一个用户的身份运行应用程序
- 6. 如何在不以根用户身份运行的程序中以root身份写入文件?
- 7. PSExec如何以SYSTEM用户身份运行应用程序?
- 8. LocalSystem Service如何以用户身份运行应用程序[C#]?
- 9. 如何以nobody用户身份在CGI程序中运行shell命令?
- 10. Powershell:以另一用户身份运行.msc小程序
- 11. 以普通用户身份执行程序(以root身份)
- 12. iPhone应用程序可以以root身份运行吗?
- 13. 以根用户身份运行JNI本机代码(Mac)
- 14. 以管理员身份运行的dotnet核心应用程序
- 15. 以root用户身份运行C++程序
- 16. 以root用户身份运行android程序
- 17. 以root用户身份运行C程序,无密码
- 18. 以用户身份运行Intellij
- 19. 以登录用户身份运行cronjob
- 20. 使Hadoop以Kerberos用户身份运行
- 21. 以非root用户身份运行Nginx
- 22. websphere以用户身份运行servlet
- 23. 以非root用户身份运行Docker
- 24. 以当前用户身份运行IIS
- 25. 应用程序池的用户身份无效一些生成运行
- 26. 当应用程序以超级用户身份运行时,GPS不工作
- 27. 以另一个用户身份运行Visual Studio并提升
- 28. VB6应用程序'以管理员身份运行'问题
- 29. 以root身份运行iPhone应用程序
- 30. 以管理员身份运行Javafx应用程序
+1“你不应该”。当然,OP将会使用污点检查并将输入与严格的规则进行比较。从shell脚本中除去'rm -rf /'是个不错的开始;-)默认情况下失败,只有在符合特定条件时才执行写操作。 – amon 2012-07-31 04:35:24
你是否建议使用system(“echo pass | sudo -s mine.pl params”)来调用它,还是有更安全的方法? – user1179510 2012-07-31 05:11:52
没有密码!为您的网络用户和特定脚本配置sudo而无需输入密码。确保在将脚本传递给脚本之前,强制验证脚本的任何参数。 – Mat 2012-07-31 05:13:08