У меня проблема с Apache HTTPD: у меня есть приложение PHP, которое выполняет команду Windows
shutdown -s -m \\<some machine> -t 0
Он используется для отключения неиспользуемых серверов в сети из удаленного места.
Проблема в том, что мне нужно запустить это приложение PHP под учетной записью пользователя, которая также существует на целевой машине и имеет права на выполнение завершения работы. Я попытался запустить службу Apache, которая обрабатывает PHP (php5_module) с учетной записью, которая может выполнять удаленную команду (я тестировал ее в командной строке вручную с той же учетной записью, и она сработала), установив User XYZ
в httpd.conf, но это не помогло.
Рассматриваемый сценарий PHP работает отлично, если он выполняется непосредственно из командной строки при входе в систему с правильно привилегированной учетной записью пользователя. При выполнении веб-сервером вызываемая команда «выключение» отвечает сообщением «Доступ запрещен».
Какие-либо предложения?
Проблема решена:
Вы можете назначить конкретную учетную запись пользователя любой службе Windows, щелкнув ее правой кнопкой мыши в списке служб, перейдя на вкладку «Вход в систему» и введя там учетные данные пользователя. Перезапустите службу, и она работает.
Иногда просто не думаешь о простейших решениях ...