Ruby、php shell_exec和crontab无法正常工作

Ruby、php shell_exec和crontab无法正常工作,php,ruby,debian,crontab,Php,Ruby,Debian,Crontab,在cron中: crontab -e 到时候-php脚本启动,但是!脚本的所有部分都可用,但ruby脚本的$scan部分不可用 我试图显示ruby-bin的脚本完整路径:哪个ruby-bin,然后我将这些路径复制到php文件 Ruby安装在根目录下,所有脚本都具有最大权限,并且在根目录下创建。在任何地方的脚本中,我都使用需要连接的文件的完整路径。我还尝试使用php5的完整路径,但如果信任syslog.log,这并不重要。请帮帮我:好的。我已经解决了这个问题。 据我所知,即使我们从cron运行r

在cron中:

crontab -e
到时候-php脚本启动,但是!脚本的所有部分都可用,但ruby脚本的$scan部分不可用

我试图显示ruby-bin的脚本完整路径:哪个ruby-bin,然后我将这些路径复制到php文件


Ruby安装在根目录下,所有脚本都具有最大权限,并且在根目录下创建。在任何地方的脚本中,我都使用需要连接的文件的完整路径。我还尝试使用php5的完整路径,但如果信任syslog.log,这并不重要。请帮帮我:好的。我已经解决了这个问题。 据我所知,即使我们从cron运行ruby脚本,也不意味着我们有足够的权限。 所以,首先我做了:为sudoers添加了一个补丁-使用NOPASSWD提供root。 下一步:我检查脚本中的所有路径,因为它们必须是完整的,即:/bin/php5/home/test/test.php 然后在脚本中添加SUDO命令:

* * * * php5 /home/user/wpscan/wpscan.php
仅此而已:现在一切正常。 我的一些错误:

不要忘记从文件中进行测试输出,即:sh run.sh>test.txt

将邮件警报与cron一起使用,也可能会有所帮助

如果您从cron运行某些东西,最好使用完整路径

感谢mudasobwa的建议和时间:


您是否尝试将ruby输出重定向到文件并向我们提供明确的错误消息?Arg。。。抱歉,无法提供ruby脚本日志输出atm,无法从工作中访问我的服务器,已尝试,但除80以外的所有端口都已关闭:我的坏,以前没有检查。。。再一次抱歉,也许有人猜到了我不是算命师:您可能需要尝试从根控制台直接运行ruby/home/user/wpscan/wpscan.rb-url site.com-enumerate-vp-follow redirection-threads 1000,然后您就会看到,问题出在哪里了。我想,您的root env缺少正确运行脚本所需的一些gem。如果我从控制台运行它,一切正常。当在shell_exec中运行php脚本时,它不仅仅在cron中工作,可能有问题?如果它完全从根控制台运行,在演示输出之前,我不能提出任何建议。对不起。shell_exec也应该可以正常工作。您是否希望为PHP用户提供不受限制的sudo访问权限值得考虑。您还可以限制用户只能执行某些命令,这几乎可以肯定是您在这里应该做的。如果您可以看到,我写了关于crontab的文章,因此一些脚本在root下运行,用户无权访问它们。数据库中的所有数据都经过过滤,并且只能写入主机名,所以这里没有风险。只有找到rce或sqli。。。但是,正如我之前所写的,所有数据都经过过滤。
* * * * php5 /home/user/wpscan/wpscan.php
<?php
$test = shell_exec('sudo ruby /home/test/test.rb');
?>
crontab -e
*   *   *   *   *   php5 /home/test/test.php