piszę coś podobnego do http://ideone.com/. Obecnie uruchamiam procesy użytkownika za pomocą wywołania CreateProcess. Zabijam proces, jeśli działa on dłużej niż określony czas, ale nie wiem, jak odmówić prawa do odczytu/zapisu systemu plików/tworzenia praw procesowych itp. Do utworzonego procesu. Dany plik wykonywalny może być dosłownie wszystkim i muszę zezwolić tylko na stdin/stdout. Byłoby świetnie, gdybym mógł ustawić zestaw pamięci roboczej.Prowadzenie procesu z najniższych możliwych przywilejów w WinAPI
Przeczytałem wiele artykułów na temat msdn, takich jak CreateProcessAsUser Function, CreateProcessWithLogonW Function itp. Ale bardzo szybko się mylę (prawdopodobnie dlatego, że moja wiedza na temat win32 jest bardzo ograniczona). Czy wystarczy zadzwonić do CreateProcessAsUser i utworzyć specjalnego użytkownika z tymi ograniczonymi uprawnieniami (i jak utworzyć takiego użytkownika).
Mam nadzieję, że można to osiągnąć w jednym wywołaniu funkcji z odpowiednich parametrach więc proszę o pomoc.
Również, jeśli wiesz, trochę podobny projekt open source byłoby wspaniale.
Dzięki.
============================================== ============
Edytuj: Cześć jeszcze raz :) Nadal jestem z tym skazany. Nie miałem wystarczająco dużo czasu, aby pracować nad tym, ale domyślam się, że snemarch post jest bardzo użyteczny. Jeśli ktoś ma gotowe rozwiązanie, byłoby wspaniale. Będę pisać, jeśli coś zrobię z linkami snemarcha.
vmware instumentation to nie wchodzi w rachubę? lub jakiś inny produkt vm? –
nie, nie jest wykluczone, ale chciałbym trzymać się api, jeśli to możliwe. Jestem otwarty na wszelkie sugestie. – Klark