Как вы создаете дескрипторы безопасности Windows в управляемом коде? - PullRequest
6 голосов
/ 15 января 2010

У меня есть именованный канал, созданный в управляемом процессе. У меня есть 2-й процесс, который пытается открыть дескриптор файла для именованного канала, однако 2-й процесс выполняется с более низкими привилегиями, чем процесс, который создал именованный канал. Насколько я понимаю, мне нужно создать именованный канал в первом процессе с дескриптором безопасности, подобным описанному в этой статье MSKB: http://support.microsoft.com/kb/813414

Проблема в том, что я не уверен, как это сделать в управляемом коде, в статье базы знаний используется C ++. Кто-нибудь знает способ создания именованного канала, чтобы он мог быть прочитан и записан анонимно, предпочтительно с использованием дескриптора безопасности? Понижение привилегий первого процесса, который создал именованный канал, не вариант, мне нужно, чтобы он работал с высокими привилегиями.

1 Ответ

4 голосов
/ 16 января 2010

Вы можете вызвать PIN-код API ConvertStringSecurityDescriptorToSecurityDescriptor и передать дескриптор безопасности в SDDL . Если вам нужен подробный контроль над описателем, вы можете найти классы-оболочки в сообществах с открытым исходным кодом, таких как this . Здесь - примеры использования дескриптора безопасности на именованных каналах.

...