Permissions

IIS7為網路驅動器目錄設置使用者權限

  • February 25, 2016

我在網路驅動器(驅動器 1)上有 IIS7 伺服器(我在其中執行一些 PHP),當我嘗試訪問另一個網路驅動器(驅動器 2)時,需要使用 pdftotext.exe 訪問 PDF 文件。在驅動器 1 上,我還有一個虛擬/連結目錄,它指向驅動器 2 上的目標目錄(我需要訪問)。

有 IUSR、IIS_IUSRS 和我的使用者 testUser,一切都在執行。

當我嘗試通過 PHP 訪問目標目錄中的文件時,我可以讀取它們。但是當我嘗試使用 exec 和 pdftotext.exe 時,我得到了返回值 1。

我檢查了在哪個使用者下執行 PHP 和 exec,以及當我執行這個腳本時

echo "user <br>";
echo get_current_user();

echo "<br> who am i in command line? <br>";
$out = array();
exec('cmd /c whoami 2>&1',$out,$exitcode);
echo "<br />EXEC: ( exitcode : $exitcode )";
echo "<hr /><pre>";
print_r($out);
echo "</pre>";

在驅動器 1 中(虛擬目錄之外),我知道這兩件事都在 testUser 之下。但是當我在虛擬目錄中嘗試時,php由testUser執行,但exec返回1。

所以我的問題是我需要如何設置權限,所以我可以在遠端目錄上使用 exec?(testUser 在驅動器 1 上擁有所有權限,即使在驅動器 2 上的目標目錄上也是如此)

看來,問題不在於權限(我已將兩個目錄的權限設置為 testUser,但仍然出現相同的錯誤)。但後來我將 pdftotext.exe 移動到虛擬目錄,現在它似乎正在工作。但我很想知道為什麼。

引用自:https://serverfault.com/questions/757753