Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Microsoft Windows biztonsági modell lehetővé teszi a folyamatobjektumok hozzáférésének szabályozását. További információ a biztonságról: Access-Control Modell.
Amikor egy felhasználó bejelentkezik, a rendszer összegyűjti azokat az adatokat, amelyek egyedileg azonosítják a felhasználót a hitelesítési folyamat során, és egy hozzáférési jogkivonatban tárolják. Ez a hozzáférési jogkivonat a felhasználóhoz társított összes folyamat biztonsági környezetét ismerteti. A folyamat biztonsági környezete a folyamathoz vagy a folyamatot létrehozó felhasználói fiókhoz megadott hitelesítő adatok készlete.
Jogkivonat használatával megadhatja egy folyamat aktuális biztonsági környezetét a CreateProcessWithTokenW függvénnyel. Egy folyamathoz biztonsági leíró is megadhat, amikor meghívja a CreateProcess, CreateProcessAsUservagy CreateProcessWithLogonW függvényt. Ha NULLad meg, a folyamat egy alapértelmezett biztonsági leírót kap. A folyamat alapértelmezett biztonsági leírójában szereplő ACL-ek a létrehozó elsődleges vagy megszemélyesítési jogkivonatából származnak.
Egy folyamat biztonsági leírójának lekéréséhez hívja meg a GetSecurityInfo függvényt. A folyamat biztonsági leírójának módosításához hívja meg a SetSecurityInfo függvényt.
A folyamatobjektumok érvényes hozzáférési jogosultságai közé tartozik a szabványos hozzáférési jogosultságok és néhány folyamatspecifikus hozzáférési jogosultság. Az alábbi táblázat az összes objektum által használt szabványos hozzáférési jogosultságokat sorolja fel.
| Érték | Jelentés |
|---|---|
| DELETE (0x00010000L) | Az objektum törléséhez szükséges. |
| READ_CONTROL (0x00020000L) | Az objektum biztonsági leírójában lévő információk olvasásához szükséges, a SACL-ben lévő információkat nem beleértve. A SACL olvasásához vagy írásához a ACCESS_SYSTEM_SECURITY hozzáférési jogosultságot kell kérnie. További információ: SACL Access Right. |
| SZINKRONIZÁL (0x00100000L) | Az objektum szinkronizáláshoz való használatának joga. Ez lehetővé teszi, hogy a szál megvárja, amíg az objektum a jelzett állapotban van. |
| WRITE_DAC (0x00040000L) | A DACL módosításához szükséges az objektum biztonsági leírójában. |
| WRITE_OWNER (0x00080000L) | Az objektum biztonsági leírójának tulajdonosának módosításához szükséges. |
Az alábbi táblázat a folyamatspecifikus hozzáférési jogosultságokat sorolja fel.
| Érték | Jelentés |
|---|---|
| PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED (0x000F0000L) | SZINKRONIZÁL (0x00100000L) | 0xFFFF) | Egy folyamatobjektum összes lehetséges hozzáférési jogosultsága.Windows Server 2003 és Windows XP: A PROCESS_ALL_ACCESS jelző mérete a Windows Server 2008 és a Windows Vista rendszeren nőtt. Ha a Windows Server 2008 és a Windows Vista rendszerhez lefordított alkalmazás Windows Server 2003 vagy Windows XP rendszeren fut, a PROCESS_ALL_ACCESS jelző túl nagy, és a jelölőt jelölő függvény ERROR_ACCESS_DENIEDmeghiúsul. A probléma elkerülése érdekében adja meg a művelethez szükséges minimális hozzáférési jogosultságokat. Ha PROCESS_ALL_ACCESS kell használni, állítsa a _WIN32_WINNT az alkalmazás által megcélzott minimális operációs rendszerre (például #define _WIN32_WINNT _WIN32_WINNT_WINXP). További információ: A Windows-fejlécek használata. |
| PROCESS_CREATE_PROCESS (0x0080) | A folyamat szülőfolyamatként való használatához szükséges a PROC_THREAD_ATTRIBUTE_PARENT_PROCESS. |
| PROCESS_CREATE_THREAD (0x0002) | A folyamat során létre kell hoznia egy szálat. |
| PROCESS_DUP_HANDLE (0x0040) | Egy leíró duplikálásához szükséges DuplicateHandlehasználatával. |
| PROCESS_QUERY_INFORMATION (0x0400) | Bizonyos információk lekéréséhez szükséges egy folyamatról, például a jogkivonatáról, a kilépési kódról és a prioritási osztályról (lásd OpenProcessToken). |
| PROCESS_QUERY_LIMITED_INFORMATION (0x1000) | A folyamat bizonyos információinak lekéréséhez szükséges (lásd: GetExitCodeProcess, GetPriorityClass, IsProcessInJob, QueryFullProcessImageName). A PROCESS_QUERY_INFORMATION hozzáférési joggal rendelkező leíró automatikusan PROCESS_QUERY_LIMITED_INFORMATIONkap.Windows Server 2003 és Windows XP: Ez a hozzáférési jogosultság nem támogatott. |
| PROCESS_SET_INFORMATION (0x0200) | Egy folyamat bizonyos információinak, például a prioritási osztályának beállításához szükséges (lásd SetPriorityClass). |
| PROCESS_SET_QUOTA (0x0100) | A memóriakorlátok SetProcessWorkingSetSizehasználatával történő beállításához szükséges. |
| PROCESS_SUSPEND_RESUME (0x0800) | A folyamat felfüggesztéséhez vagy folytatásához szükséges. |
| PROCESS_TERMINATE (0x0001) | A folyamat TerminateProcesshasználatával történő leállításához szükséges. |
| PROCESS_VM_OPERATION (0x0008) | Művelet végrehajtásához szükséges egy folyamat címterén (lásd VirtualProtectEx és WriteProcessMemory). |
| PROCESS_VM_READ (0x0010) | A ReadProcessMemoryhasználatával történő memóriaolvasáshoz szükséges. |
| PROCESS_VM_WRITE (0x0020) | A WriteProcessMemoryhasználatával a memóriába való íráshoz szükséges. |
| SZINKRONIZÁL (0x00100000L) | A várakozási függvényekhasználatával meg kell várni a folyamat befejezését. |
Ha egy leírót egy másik folyamathoz szeretne megnyitni, és teljes hozzáférési jogosultságot szeretne szerezni, engedélyeznie kell a SeDebugPrivilege jogosultságot. További információ: Jogkivonatok jogosultságainak módosítása.
A CreateProcess függvény által visszaadott leíró PROCESS_ALL_ACCESS hozzáféréssel rendelkezik a folyamatobjektumhoz. Amikor meghívja a OpenProcess függvényt, a rendszer ellenőrzi a kért hozzáférési jogosultságokat, a folyamat biztonsági leírójában lévő DACL-n. Amikor meghívja a GetCurrentProcess függvényt, a rendszer egy olyan pszeudo-kezelőt ad vissza, amely a DACL által a hívó számára engedélyezett maximális hozzáféréssel rendelkezik.
Az ACCESS_SYSTEM_SECURITY hozzáférést kérhet egy folyamatobjektumhoz, ha be szeretné olvasni vagy meg szeretné írni az objektum SACL-jét. További információ: Access-Control listák (ACL-ek) és SACL access right.
Figyelmeztetés
Az itt feljegyzett hozzáférési jogosultságok némelyikét tartalmazó folyamat más hozzáférési jogosultságok megszerzésére is használhatja őket. Ha például az A folyamat rendelkezik egy leíróval a B PROCESS_DUP_HANDLE hozzáféréssel történő feldolgozásához, akkor duplikálhatja a B folyamat pszeudo fogópontját. Ez létrehoz egy leírót, amely maximális hozzáféréssel rendelkezik a B folyamathoz. A pszeudofogópontokról további információt GetCurrentProcesscímű témakörben talál.
Védett folyamatok
A Windows Vista védett folyamatokat vezet be, a digitális tartalomvédelem támogatásának növelése érdekében. A rendszer korlátozza a védett folyamatokhoz és a védett folyamatok szálaihoz való hozzáférést.
A következő szabványos hozzáférési jogosultságok nem engedélyezettek egy folyamatból egy védett folyamatba:
- DELETE
- READ_CONTROL
- WRITE_DAC
- WRITE_OWNER
A következő konkrét hozzáférési jogosultságok nem engedélyezettek egy folyamatból egy védett folyamatba:
- PROCESS_ALL_ACCESS
- PROCESS_CREATE_PROCESS
- PROCESS_CREATE_THREAD
- PROCESS_DUP_HANDLE
- PROCESS_QUERY_INFORMATION
- PROCESS_SET_INFORMATION
- PROCESS_SET_QUOTA
- PROCESS_VM_OPERATION
- PROCESS_VM_READ
- PROCESS_VM_WRITE
A PROCESS_QUERY_LIMITED_INFORMATION jogot bevezettük, hogy hozzáférést biztosítsunk a PROCESS_QUERY_INFORMATIONkeresztül elérhető információk egy részhalmazához.