smbclient在交互式shell中工作,但不在浏览器中工作(selinux)

时间:2015-07-02 13:11:17

标签: php centos smb selinux libsmbclient

我有一个非常简单的页面尝试使用shell_exec来启动一个smbclient。

该行在交互式shell中运行良好,但在浏览器中失败。

Interactive Shell

[root@vle html]# php -a
Interactive shell

php > $exec = exec("smbclient //*IP*/*Share* -U *Username*%*Password*");
Domain=[...] OS=[Windows Server 2012 Standard 9200] Server=[Windows Server 2012 Standard 6.2]

这是按预期工作的。但是,当在由Apache支持的PHP文件中执行此操作时,我得到:

测试在浏览器中执行的PHP文件

<?php
$exec = exec("smbclient //*IP*/*Share* -U *Username*%*Password");
print_r($exec);
// returns Connection to *IP* failed (Error NT_STATUS_ACCESS_DENIED)
?>

当尝试使用libsmbclient for php时,我收到以下错误:

  

警告:无法打开SMB目录smb:// IP / 共享:未知错误   (110)

有没有人有任何想法可能导致它在交互式shell中工作但不在浏览器中工作?

服务器是CentOS 6

更新

我已将问题缩小到由SELinux引起(我暂时禁用它)。

有谁知道如何通过selinux允许smbclient?

0 个答案:

没有答案