Inline::Python在-T模式下运行时,什么可以解释这个编译时错误消息?
在/usr/local/lib/perl/5.14.2/Inline/Python.pm第193行中使用-T开关运行时打开时的不安全依赖性.
第193行是Inline::Python打开的地方$o->{API}{location},我将其视为"内联目录".
当然,我使用了所需的选项:
use constant _INLINE_DIR_ => '/var/myapp/inline';
use Inline Config => UNTAINT => 1,
NO_UNTAINT_WARN => 1,
DIRECTORY => _INLINE_DIR_;
Run Code Online (Sandbox Code Playgroud)
我确保其中的/var/myapp/inline所有内容都是可由每个人编写的,显然包括root和用户setuid在运行时编写的应用程序.
同样的脚本在我的计算机上运行没有问题,无论我是否以root身份启动它,运行Inline0.50 Inline::Python0.43,但是当我尝试在使用相同版本Inline::Python且版本为0.49或0.55的服务器上运行它时,会给我这个错误Inline.
由于这在不同的环境中是不同的,所以我敢打赌,在执行配置参数请求的步骤之前,有一个环境变量或者Inline正在读取。Inline::PythonUNTAINT
(与评论相反,我认为文件权限不会导致此消息,只有对命令行参数或环境变量的不安全依赖)
鉴于此,我将通过强制清除环境来启动脚本,然后仅添加您知道需要的环境变量:
%ENV = ();
$ENV{'PATH'} = '/bin:/usr/bin:/usr/local/bin'; # Or whatever's appropriate
$ENV{'PYTHONPATH'} = '/usr/local/lib/python'; # Optional, if appropriate
# ... etc ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
176 次 |
| 最近记录: |