Я хочу создать мьютекс Windows с помощью WinAPI, CreateMutex()
и OpenMutex()
. Но для обеспечения безопасности я хочу, чтобы мьютекс был открыт теми процессами, которые знают «пароль» или магический код жесткого кода. Я не хочу, чтобы доступ к мьютексам осуществлялся всеми процессами.Могу ли я создать мьютексы Windows во всем мире для тех процессов, которые знают пароль мьютекса?
Например, Создать мьютекс с названием "Globel \ cd689f00-0462-11e5-b939-0800200c9a66". Таким образом, только тот, кто знает имя мьютекса, может получить доступ к этому мьютексу. Но это нехорошее решение, потому что вы можете просто использовать Winobj.exe, и у вас все еще есть шанс найти этот мьютекс. Я хочу, чтобы этот мьютекс был защищен чем-то вроде ACL (Списки контроля доступа). Проблема в том, что я не могу найти способ создать собственный SID для ACL.
Вот что я знаю и чего хочу: 1. Я знаю, что я могу сделать доступ к мьютексам многими процессами, назвав его «Global \ MyMutexName». 2. Я также пытаюсь понять ACL и SID, упомянутые в MSDN. Но я все еще не могу найти способ создать свой собственный SID (может быть, это не имеет смысла?). 3. Я не хочу повышать свои процессы до администратора.
Спасибо за ответ. Похоже, для этого потребуется много усилий. Поэтому ACL может оказаться непригодным для меня. Я просто нашел другой вызов API 'CreatePrivateNamespace'. Я попробую это позже и обновить здесь, если найду что-нибудь. –
Я думаю, вы обнаружите, что WinObj все еще может видеть объекты внутри частного пространства имен. Но стоит попробовать. –
Хорошо! Спасибо за информацию. Я думаю, что пока нет другого лучшего решения. Большое спасибо за помощь :) –