#c# #.net #windows #security
#c# #.net #Windows #Безопасность
Вопрос:
Я хочу запустить дочерний процесс из приложения .NET (.NET 4.8), который имеет доступ только к одному определенному каталогу на диске. Для достижения этой цели мы сначала олицетворяем токен ограниченного доступа, где мы удаляем все идентификаторы SID из токена, кроме одной группы. Эта группа имеет доступ на чтение и запись к определенному каталогу на диске и ничего больше. Затем мы пытаемся запустить дочерний процесс.
К сожалению, при попытке запустить процесс происходит сбой с очень общей ошибкой «отказано в доступе». Я предполагаю, что мне нужны какие-то специальные права доступа, чтобы даже запустить процесс. Каковы минимальные требования для этого? Что еще может помешать мне запустить процесс?
Примечание: сам процесс находится в этом специальном каталоге, так что это не должно быть проблемой.
Комментарии:
1. Доступ для чтения
%WINDIR%Microsoft.NETassemblyGAC_MSIL
%WINDIR%Microsoft.NETFramework
и папка exe?2. Дочерний процесс не является приложением .NET. Кроме того, при просмотре с помощью procmon он еще даже не запущен, поэтому это должно быть что-то во время запуска процесса или даже раньше. Он пытается получить доступ System.dll в GAC с доступом, запрещенным в procmon, возможно, это причина … но я не могу придумать причину, по которой он хотел бы это сделать.
Ответ №1:
Наша команда только что обновилась до версии Net5.0, и у нас возникают аналогичные проблемы при попытке открыть каталог ведения Process.Start("pathtolog");
журнала, если у кого-нибудь есть какое-то представление, это было бы здорово.