2016-02-17 9 views
3

для первого упоминания, этот вопрос является продолжением моего предыдущего вопроса here. И моя цель по-прежнему такая же. У меня есть сервер IIS7 (где я запускаю некоторый PHP) на сетевом диске (диск 1), когда я пытаюсь подключиться к другому сетевому диску (диск 2), где необходимо подключать файлы PDF с pdftotext.exe.Как установить права пользователей с IIS7 для доступа к каталогу сетевого диска

На диске 1 У меня также есть каталог виртуальных/ссылок (virDir) в каталоге (tarDir) на диске 2, когда все файлы, которые мне нужны для доступа, хранятся.

Когда я запускаю pdftotext.exe самостоятельно, все работает как шарм, на диске создается выходной файл с pdfcontent, и каждый счастлив до смерти. Но когда я пытаюсь выполнить PHP-скрипт, хранящийся на диске 1 в virDir, который запускает pdftotext.exe через команду exec, он возвращает 1, и файл не создается.

В моем последнем вопросе я понял, что это будет, вероятно, проблема с разрешением, но я немного запутался, как их установить. У IIS7 есть некоторые внутренние пользователи, такие как IUSR и IIS_IUSRS, и когда я вызываю get_current_user(); в php, его набор для testUser.

Итак, какие разрешения мне нужно установить в оба каталога (virDir и tarDir), чтобы сервер мог получить их?

Я попробовал, чтобы testUser установил Modify, Read a Execute, содержимое папки List, Read, Write permissions для tarDir (диск 2) и IUSR, testUser и II_IUSRS прочитали команду «Выполнение», «Содержимое папки списка», «Чтение, запись» на tarDir (привод 1).

Когда я пытаюсь получить доступ к «нормальным» файлам, таким как txt, pptx и т. Д., Я могу прочитать их без проблем (im использует библиотеку php для него), но когда я пытаюсь использовать pdftotext.exe, он терпит неудачу.

Может ли кто-нибудь увидеть, что я делаю неправильно?

EDIT: Так что я сделал некоторые другие испытания, и, когда я запускаю этот COMAND (им currious, который работает под управлением командной строку)

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, но когда я запускаю его на диске 1 virDir, он возвращает 1. Так что, вероятно, проблема с правами на выполнение команд в оболочке ... я буду apreaciaty любой подсказку ...

ответ

0

Так что, похоже, проблема не была в разрешениях (i задайте для обоих каталогов права на testUser и все равно получите ту же ошибку), но когда i переместил pdftotext.exe в виртуальный каталог, и теперь похоже, что он работает. Но им любопытно, почему ...

0

Используйте это разрешение как «Все», чтобы доступ к каталогу был возможен без каких-либо проблем.

Шаги:

  1. правой кнопкой мыши на папке каталога и выберите свойства
  2. Вкладка
  3. Под безопасности нажмите на кнопку Изменить
  4. Теперь нажмите кнопку Добавить кнопку
  5. Укажите «Все» в поле: Введите имя объекта, которое нужно выбрать, и нажмите «Проверить имена», чтобы узнать его.
  6. Дайте полный контроль и применение

Недавно я столкнулся с таким же вопросом, вышеописанный шаг решил его

 Смежные вопросы

  • Нет связанных вопросов^_^