Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
SDDL (Security Descriptor Definition Language) används för att representera säkerhetsbeskrivningar. Säkerhet för enhetsobjekt kan anges av en SDDL-sträng som placeras i en INF-fil eller skickas till IoCreateDeviceSecure. Definitionsspråket för säkerhetsbeskrivning är fullständigt dokumenterat i Microsoft Windows SDK-dokumentationen.
Inf-filer stöder hela SDDL, men endast en delmängd av språket stöds av rutinen IoCreateDeviceSecure . Den här delmängden definieras här.
SDDL-strängar för enhetsobjekt är av formatet "D:P" följt av ett eller flera uttryck i formuläret "(A;; Access;;; SID)". SID-värdet anger en säkerhetsidentifierare som avgör för vem åtkomstvärdet gäller (till exempel en användare eller grupp). Värdet Åtkomst anger de åtkomsträttigheter som tillåts för SID. Värdena Åtkomst och SID är följande.
När du använder SDDL för enhetsobjekt måste drivrutinen länka mot Wdmsec.lib.
Tillträde
Anger ett ACCESS_MASK värde som avgör den tillåtna åtkomsten. Det här värdet kan skrivas antingen som ett hexadecimalt värde i formatet "0xhex" eller som en sekvens med två bokstävers symboliska koder som representerar åtkomsträttigheter.
Följande koder kan användas för att ange allmänna åtkomsträttigheter.
| Kod | Allmän åtkomsträtt |
|---|---|
GA |
ALLMÄNT_ALLT |
GR |
Generisk_Läs |
GW |
GENERIC_WRITE |
GX |
GENERELL_UTFÖR |
Följande koder kan användas för att ange specifika åtkomsträttigheter.
| Kod | Specifik åtkomsträtt |
|---|---|
ROLLCENTER |
READ_CONTROL |
SD |
TA BORT |
Vit dvärg |
WRITE_DAC |
WO |
SKRIV_ÄGARE |
GENERIC_ALL ger alla rättigheter som anges i de två tabellerna ovan, inklusive möjligheten att ändra ACL.
SID
Anger det SID som beviljas den angivna åtkomsten. SID:er representerar konton, alias, grupper, användare eller datorer.
Följande SID representerar konton på datorn.
| SID | Beskrivning |
|---|---|
SY |
Systemet Representerar själva operativsystemet, inklusive dess komponenter i användarläge. |
LS |
Lokal tjänst Ett fördefinierat konto för lokala tjänster (som också tillhör Autentiserade och Världen). Detta SID är tillgängligt från och med Windows XP. |
NS |
Nätverkstjänst Ett fördefinierat konto för nätverkstjänster (som också tillhör Autentiserade och World). Detta SID är tillgängligt från och med Windows XP. |
Följande SID representerar grupper på datorn.
| SID | Beskrivning |
|---|---|
Kandidatexamen i humaniora |
Administratörer Den inbyggda gruppen Administratörer på datorn. |
BU |
Inbyggd användargrupp Grupp som omfattar alla lokala användarkonton och användare på domänen. |
BG |
Inbyggd gästgrupp Grupp som omfattar användare som loggar in med det lokala gästkontot eller domänens gästkonto. |
Följande SID beskriver i vilken utsträckning en användare har autentiserats.
| SID | Beskrivning |
|---|---|
AU |
Autentiserade användare Alla användare som identifieras av den lokala datorn eller av en domän. Användare som är inloggade med det inbyggda gästkontot autentiseras inte. Medlemmar i gruppen Gäster med enskilda konton på datorn eller domänen autentiseras dock. |
EN |
Anonym inloggad användare Alla användare som är inloggade utan en identitet, till exempel en anonym nätverkssession. Användare som loggar in med det inbyggda gästkontot är inte autentiserade eller anonyma. Detta SID är tillgängligt från och med Windows XP. |
Följande SID beskriver hur användaren loggade in på datorn.
| SID | Beskrivning |
|---|---|
IU |
Interaktiva användare Användare som först loggade in på datorn "interaktivt", till exempel lokala inloggningar och inloggningar för fjärrskrivbord. |
NU |
Nätverksinloggningsanvändare Användare som ansluter till datorn via fjärranslutning, utan interaktiv skrivbordsåtkomst (till exempel fildelning eller RPC-anrop). |
Vit dvärg |
Värld Före Windows XP täckte detta SID varje session, oavsett om det var autentiserade användare, anonyma användare eller det inbyggda gästkontot. Från och med Windows XP omfattar detta SID inte anonyma inloggningssessioner. den omfattar endast autentiserade användare och det inbyggda gästkontot. Kod som inte är betrodd eller "begränsad" omfattas inte heller av World SID. Mer information finns i beskrivningen av SID för begränsad kod (RC) i följande tabell. |
Följande SID förtjänar särskilt omnämnande.
| SID | Beskrivning |
|---|---|
ROLLCENTER |
Begränsad kod Detta SID används för att styra åtkomsten med kod som inte är betrodd. ACL-validering mot token med RC består av två kontroller, en mot tokens normala lista över SID:er (som innehåller WD till exempel) och en mot en andra lista (som vanligtvis innehåller RC och en delmängd av de ursprungliga token-SID:erna). Åtkomst beviljas endast om en token klarar båda testerna. Som sådan fungerar RC faktiskt i kombination med andra SID: er. Alla ACL som anger RC måste också ange WD. När RC paras ihop med WD i en ACL beskrivs en superuppsättning med Alla, inklusive ej betrodd kod. Kod som inte är betrodd kan vara kod som startas med alternativet Kör som i Utforskaren. Som standard omfattar inte World ej betrodd kod. |
UD |
User-Mode drivrutiner Detta SID ger åtkomst till drivrutiner i användarläge. För närvarande omfattar detta SID endast drivrutiner som är skrivna för User-Mode Driver Framework (UMDF). Detta SID är tillgängligt från och med Windows 8. I tidigare versioner av Windows, som inte känner igen "UD"-förkortningen, måste du ange den fullständigt kvalificerade formen för detta SID (S-1-5-84-0-0-0-0-0) för att ge åtkomst till UMDF-drivrutiner. Mer information finns i Kontrollera enhetsåtkomst i dokumentationen om User-Mode Driver Framework. |
SDDL-exempel för enhetsobjekt
I det här avsnittet beskrivs de fördefinierade SDDL-strängarna som finns i Wdmsec.h. Du kan också använda dessa som mallar för att definiera nya SDDL-strängar för enhetsobjekt.
SDDL_DEVOBJ_KERNEL_ONLY
"D:P"
SDDL_DEVOBJ_KERNEL_ONLY är den "tomma" ACL:en. Användarlägeskod (inklusive processer som körs som system) kan inte öppna enheten.
En PnP-busschaufför kan använda den här beskrivningen när du skapar en PDO. INF-filen kan sedan ange lösare säkerhetsinställningar för enheten. Genom att ange den här beskrivningen skulle busdrivrutinen se till att inget försök att öppna enheten innan INF bearbetas skulle lyckas.
På samma sätt kan en icke-WDM-drivrutin använda den här beskrivningen för att göra dess enhetsobjekt otillgängliga tills lämpligt användarlägesprogram (till exempel ett installationsprogram) anger den slutliga säkerhetsbeskrivningen i registret.
I alla dessa fall är standardinställningen strikt säkerhet, lossad efter behov.
SDDL_DEVOBJ_SYS_ALL
"D:P(A;; GA;;; SY)"
SDDL_DEVOBJ_SYS_ALL liknar SDDL_DEVOBJ_KERNEL_ONLY, förutom att förutom kod i kernelläge tillåts även användarlägeskod som körs som System att öppna enheten för all åtkomst.
En äldre drivrutin kan använda den här ACL:n för att börja med snäva säkerhetsinställningar och låta tjänsten öppna enheten vid körning för enskilda användare med hjälp av funktionen SetFileSecurity-användarläge . I det här fallet måste tjänsten köras som system.
SDDL_DEVOBJ_SYS_ALL_ADM_ALL
"D:P(A;;GA;;;SY)(A;;GA;;;BA)"
SDDL_DEVOBJ_SYS_ALL_ADM_ALL ger kerneln, systemet och administratören fullständig kontroll över enheten. Inga andra användare kan komma åt enheten.
SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R
"D:P(A;; GA;;; SY)(A;; GRGWGX;;; BA)(A;; GR;;; WD)"
SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R ger kerneln och systemet fullständig kontroll över enheten. Som standard kan administratören komma åt hela enheten, men kan inte ändra ACL:en (administratören måste först ta kontroll över enheten.)
Alla (World SID) får läsåtkomst. Ej betrodd kod kan inte komma åt enheten (kod som inte är betrodd kan vara kod som startas med alternativet Kör som i Utforskaren. Som standard omfattar inte World begränsad kod.)
Observera också att blädderingsåtkomst inte beviljas till normala användare. Därför kanske detta inte är en lämplig beskrivning för en enhet med ett namnområde.
SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R_RES_R
"D:P(A;; GA;;; SY)(A;; GRGWGX;;; BA)(A;; GR;;; WD)(A;; GR;;; RC)"
SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R_RES_R ger kerneln och systemet fullständig kontroll över enheten. Som standard kan administratören komma åt hela enheten, men kan inte ändra ACL:en (administratören måste först ta kontroll över enheten.)
Alla (World SID) får läsåtkomst. Dessutom tillåts icke-betrodd kod att komma åt kod. Kod som inte är betrodd kan vara kod som startas med alternativet Kör som i Utforskaren. Som standard omfattar inte World begränsad kod.
Observera också att blädderingsåtkomst inte beviljas till normala användare. Därför kanske detta inte är en lämplig beskrivning för en enhet med ett namnområde.
Dessa SDDL-strängar innehåller inga arvsmodifierare. Därför är de bara lämpliga för enhetsobjekt och bör inte användas för filer eller registernycklar. Mer information om hur du anger arv med SDDL finns i Microsoft Windows SDK-dokumentationen.