当 ubuntu 14.04 正确禁用 www-data 的 shell 时,从 php 调用 shell 脚本

当 ubuntu 14.04 正确禁用 www-data 的 shell 时,从 php 调用 shell 脚本

我刚刚从 12.04 迁移到 14.04。14.04(明智地)禁用了 www-data 的登录/shell。但我的 php 网站需要运行一些 shell 脚本来运行 kindlegen 之类的东西,根据用户命令将文件 rsyncing 到另一台服务器等。

做到这一点的最佳(最安全)方法是什么?

谢谢

答案1

听起来你处于安全模式。这很好,但它确实让你可以选择允许某些命令(如果它们在safe_mode_exec_dir。这是我首先要考虑的事情。创建一个目录,将脚本添加到其中,设置safe_mode_exec_dir到该目录,然后查看它是否运行。

编辑:嗯,如果你使用的是 14.04,那么它可能不是安全模式。该模式在 5.4 中被删除,你应该使用 5.5

如果这不起作用或不可行,请考虑使用非交互式方法。让您的 PHP 写入一个名为的文件needstorun,然后让另一个脚本(以另一个用户的身份运行)定期检查该文件。我会使用这样的 cron 行(crontab -e以将要运行的用户身份运行)

*/5 * * * *    [ -f /path/to/needstorun ] && rm /path/to/needstorun && /path/to/script

这显然只会为您提供一种交错的方法,但这可能不是一个坏主意。

相关内容