Windows обычно не будет пользователи для изменения владения любого объекта к чему-либо кроме Администраторов (или они, если у них будет разрешение владения взятия на объекте), если они не Администратор, или они имеют некоторые специальные Права пользователя Windows (который Вы не должны присуждать).
Я размышлял бы, что семилетняя x86 версия subinacl.exe не работает правильно с маркером безопасности в поднятом процессе.
Несколько предложений:
Попытайтесь использовать обновленную версию subinacl, 5.2.3790.1180, доступный в:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e8ba3e56-d8fe-4a91-93cf-ed6985e3927b
Попытайтесь использовать свободную утилиту SetAcl.exe. Это - швейцарско-армейская раковина инструментов управления полномочий и включает сборку x64. Это - активный проект и включает много функций, недостающих утилит Microsoft.
Документация:
http://helgeklein.com/setacl/documentation/command-line-version-setacl-exe/
http://helgeklein.com/setacl/examples/managing-printer-service-and-share-permissions-with-setacl-exe/
Использование в качестве примера:
setacl -on "Printer Name" -ot prn -actn setowner -ownr n:domainNetbiosName\userName
Хорошо, я понял.
Прежде всего, сценарий, который выполняется и используется для получения значения для вставки в заголовок. Я создал это как /opt/apache/debug.sh
:
#!/bin/bash
#this script just loops forever and outputs a random string
#every time it receives something on stdin
while read
do
cat /dev/urandom|head -c12|base64
done
Конфигурация Apache:
<VirtualHost *:80>
ServerName light.nik
RewriteEngine On
RewriteMap doheader prg:/opt/apache/debug.sh
RewriteRule (.*) - [E=customheader:${doheader:},P]
RequestHeader set customheader %{customheader}e
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>
Серверная служба, работающая на http: // localhost: 8080 /
, получает customheader
со значением из скрипта.
Документация Apache об использовании внешней программы находится здесь .