Alle filer eller mapper i et NTFS-volumen har en ejer. Visse systemfiler er ejet af TrustedInstaller, nogle af SYSTEM-kontoen og andre af gruppen “Administratorer”. Hvis en bruger opretter en fil eller mappe, er denne bruger normalt ejer af filen eller mappen. Det er ejeren, der kan tildele andre brugere tilladelser (Tillad eller Afvis) til det pågældende objekt.
Hvis en bruger ikke er ejer af en fil eller mappe eller ikke har adgangstilladelser til filen, får han fejlen “Access is denied”, når han får adgang til objektet. Hvis den pågældende bruger er administrator, kan han overtage ejerskabet af objektet ved hjælp af fanen Egenskaber – Sikkerhed i filen eller mappen. Derefter kan han tildele sig selv de nødvendige tilladelser.
Dette indlæg fortæller dig, hvordan du kan overtage ejerskabet af en fil eller mappe og tildele de nødvendige tilladelser til den ved hjælp af kommandolinjen i stedet for GUI.
Windows indeholder et kommandolinjeværktøj ved navn Takeown.exe, som kan bruges fra en admin kommandoprompt til hurtigt at ændre ejerskabet af en fil eller mappe. Her kan du se, hvordan du overtager ejerskabet af en fil eller mappe og derefter tildeler tilladelser til en konto ved hjælp af kommandolinjen.
- Overtagelse af ejerskabet af en fil
- Tildel filtilladelser
- Overtagelse af ejerskab af en mappe
- Ændring af ejerskab rekursivt:
- Tildel mappetilladelser
- Kommandolinjehjælp:
- Nemmere metoder til at overtage ejerskab
- Kommandoscript
- Føj kommandoen “Take Ownership” til højreklikmenuen
- Yderligere oplysninger
- icacls.exe kan også ændre ejerskabet af en fil eller mappe!
- Ændre ejerskab af en fil eller mappe ved hjælp af icacls.exe
- Eksempler: Sæt #1: Skift ejerskab af en enkelt fil eller mappe
- Eksempel #2: Ændre ejerskab for en mappe (undermappe og filer) rekursivt
- Gendan ejerskabet tilbage til TrustedInstaller
- Anvendelse af kommandoen icacls.exe til at indstille TrustedInstaller som ejer af en fil
- icacls /setowner access denied?
- Brug af SetACL.exe til at tage ejerskab og tildele tilladelser
- SetACL: Kommandolinjeargumenter
- Eksempler:
- Eksempler: Skift ejerskab af en enkelt fil eller mappe:
- Eksempler: Hvis du vil angive ejerskabet til en mappe og dens undermapper (ikke til filer) rekursivt, skal du bruge et af disse eksempler: setacl.exe -on d:\test -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller" -rec contsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Administrators" -rec contsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Ramesh" -rec cont -rec – rekursion er aktiveret. cont – Recurse, og behandl kun mapper.
- Eksempler: Tildel de nødvendige tilladelser til en fil eller mappe:
- Eksempler: Tildel de nødvendige tilladelser rekursivt:
Overtagelse af ejerskabet af en fil
Åbn et forhøjet Kommandoprompt-vindue. Brug følgende syntaks til at overtage ejerskabet af en fil:
TAKEOWN /F <filename>
Erstat <filename> med det faktiske filnavn med den fulde sti.
Den aktuelt loggede bruger er nu ejer af filen.
For at indstille Administrators
-gruppen som ejer af filen skal du bruge kontakten /A
i tillæg:
TAKEOWN /F <filename> /A
-
/A
Giver ejerskabet til gruppen Administratorer i stedet for til den aktuelle bruger. Hvis/A
ikke er angivet, vil filejerskabet blive givet til den aktuelt loggede bruger. Denne parameter er ikke stregfølsom.
Hvis operationen lykkedes, skal du se følgende meddelelse:
“SUCCES: Filen (eller mappen): “filnavn” ejes nu af brugeren “Computernavn\Brugernavn”.”
eller
SUCCESS: Filen (eller mappen): “
Tildel filtilladelser
For at tildele administratorer fuld kontroltilladelser til filen skal du bruge ICACLS for at tildele administratorer fuld kontroltilladelser til filen. Her er syntaksen:
ICACLS <filename> /grant administrators:F
Eksempel 2: Hvis du vil tildele fuld kontroltilladelser til den aktuelt loggede bruger, skal du bruge denne kommando:
ICACLS <filename> /grant %username%:F
%brugernavn% repræsenterer kontonavnet på den aktuelt loggede bruger. ICacls accepterer denne variabel direkte.
Eksempel 3: Hvis du vil tildele tilladelser til fuld kontrol til brugeren John
, skal du bruge denne kommando:
ICACLS <filename> /grant John:F
Overtagelse af ejerskab af en mappe
Brug følgende syntaks:
takeown /f <foldername>
(eller)
takeown /f <foldername> /a
-
/a
Giver ejerskab til gruppen Administratorer i stedet for til den aktuelle bruger. Hvis/a
ikke er angivet, vil ejerskabet blive givet til den aktuelt loggede bruger. Denne parameter er ikke stempelafhængig.
Du får følgende output:
SUCCES: Filen (eller mappen): “folder_name” nu ejet af brugeren “computername\username”
(eller)
SUCCES: Filen (eller mappen): “
Ændring af ejerskab rekursivt:
For at ændre ejerskabet af en mappe, dens undermapper og filer i hver undermappe skal du bruge denne syntaks:
takeown /f <foldername> /r /d y
Den aktuelt loggede bruger er nu ejer af mappen.
Hvis du vil indstille Administrators
-gruppen som ejer af mappen, dens undermapper og filer rekursivt, skal du bruge kontakten /A
i tillæg:
TAKEOWN /F <foldername> /a /r /d y
-
/R
Recurse: Anviser værktøjet til at operere på filer i den angivne mappe og alle undermapper. -
/D
prompt Standard svar, der bruges, når den aktuelle bruger ikke har tilladelsen “list folder” på en mappe. Dette sker, når der opereres rekursivt (/R) på undermapper. Gyldige værdier “Y” for at overtage ejerskab eller “N” for at springe over.
Tildel mappetilladelser
For at tildele gruppen Administratorer fuld kontroltilladelse til mappen skal du bruge denne syntaks:
icacls <foldername> /grant administrators:F /T
Parameteren /T tilføjes, så operationen udføres gennem alle undermapper og filer i den pågældende mappe.
Kommandolinjehjælp:
For at kende de komplette brugsoplysninger for Takeown.exe og ICacls.exe, skal du køre disse kommandoer fra et kommandopromptvindue.
takeown /?
icacls /?
Nemmere metoder til at overtage ejerskab
Kommandoscript
For yderligere at forenkle processen med at overtage ejerskab leverer Tim Sneath fra Microsoft en .CMD-fil (Windows Command Script), som overtager ejerskab og tildeler fuld kontroltilladelser til administratorer for mappen. Du kan få flere oplysninger i Tim’s indlæg med titlen Secret #11: Deleting the Undeletable.
Dette bruger igen det særlige runas-verbum i Windows Vista og højere, som jeg har behandlet tidligere (REF RunAs).
via WinMatrix.com
Download takeown_context.reg og gem den på skrivebordet. Højreklik på filen, og vælg Flette. Klik på Ja, når du bliver bedt om bekræftelse. Dette tilføjer en udvidet kommando ved navn Take Ownership i kontekstmenuen for filer og mapper. For at få adgang til kommandoen skal du trykke på SHIFT-tasten og holde den nede, og derefter højreklikke på en fil eller mappe.
(Du kan læse mere om tweaken i artiklen Tag ejerskab af fil eller mappe via højreklik-kontekstmenuen i Windows.)
Yderligere oplysninger
Overstående afsnit dækker det meste af det, du har brug for. Læs nedenfor, hvis du har brug for flere tips om dette emne.
icacls.exe kan også ændre ejerskabet af en fil eller mappe!
Takeown.exe og Icacls.exe er de to indbyggede konsolværktøjer i Windows, som lader dig ændre ejerskabet af filer eller mapper og tildele adgangskontroltilladelser, henholdsvis. Takeown.exe indstiller den aktuelt loggede brugerkonto som ejer af et objekt (fil eller mappe).
Med Takeown.exe kan du imidlertid ikke gøre en anden konto til ejer af et objekt.
Vidste du, at værktøjet icacls.exe også kan bruges til at ændre ejerskabet?
For at ændre ejerskabet til en tredjepartskonto (f.eks, den konto, der ikke er logget ind i øjeblikket) eller en gruppe, kan du bruge icacls.exe med kommandolinjeargumentet /setowner
i stedet for takeown.exe.
Ændre ejerskab af en fil eller mappe ved hjælp af icacls.exe
Vi så, hvordan du ændrer ejerskabet ved hjælp af icacls.exe i den sidste del af artiklen Overtag ejerskab af en fil eller mappe ved hjælp af kommandolinjen i Windows. Her er nogle flere eksempler:
Følgende er kommandolinjesyntaksen for at ændre ejerskabet af en fil eller mappe ved hjælp af icacls.exe:
icacls "file_or_folder_name" /setowner "NT Service\TrustedInstaller"
Eksempler: Sæt #1: Skift ejerskab af en enkelt fil eller mappe
icacls "D:\Annual Reports20\November" /setowner "John"
icacls "D:\Tax Audit\November.xlsx" /setowner "John"
icacls "D:\Tax Audit\November.xlsx" /setowner "Administrators"
Hvis operationen var vellykket, vises følgende meddelelse:
processed file: file_or_folder_nameSuccessfully processed 1 files; Failed processing 0 files
Eksempel #2: Ændre ejerskab for en mappe (undermappe og filer) rekursivt
Hvis du vil ændre ejerskabet for en mappe, dens undermapper og alle filer i alle undermapper rekursivt, skal du bruge kontakten /T
(traverse) i tillæg:
icacls "folder_name" /setowner "Administrators" /T
-
/T
angiver, at denne handling udføres på alle matchende filer/mapper under de mapper, der er angivet i navnet.
Overstående kommando indstiller TrustedInstaller som ejer af mappen, dens undermapper og alle filerne i alle undermapperne.
Gendan ejerskabet tilbage til TrustedInstaller
For at løse et problem kan det nogle gange være nødvendigt at ændre en datafil, f.eks. XML eller en registreringsdatabasenøgle, der ejes af TrustedInstaller, for at løse et problem. Til det formål skal du først overtage ejerskabet af filen, mappen eller registreringsdatabasenøglen.
Når du har ændret filerne eller indstillingerne, skal du vende ejerskabet tilbage til TrustedInstaller, hvis TrustedInstaller var den tidligere eller oprindelige ejer. Du skal bruge disse trin for at indstille ejerskabet tilbage til TrustedInstaller:
Tjenesten Windows Modules Installer eller TrustedInstaller gør det muligt at installere, ændre og fjerne Windows-opdateringer og valgfrie komponenter. Som standard er TrustedInstaller også ejer af mange vigtige registreringsdatabasenøgler og systemfiler.
- Højreklik på en fil eller registreringsdatabasenøgle, og klik på Tilladelser.
- Klik på Avanceret for at åbne dialogboksen Avancerede sikkerhedsindstillinger.
- Nær “Ejer:” skal du klikke på Skift.
- I dialogboksen Vælg bruger eller gruppe skal du skrive “
NT SERVICE\TrustedInstaller
” og trykke på ENTER.
- Klik på Anvend, OK.
Derved ændres objektets ejerskab (fil, mappe eller registreringsdatabasenøgle) til TrustedInstaller eller Windows Modules Installer.
Anvendelse af kommandoen icacls.exe til at indstille TrustedInstaller som ejer af en fil
Fra et admin-kommandopromptvindue skal du bruge følgende kommandolinjesyntaks:
icacls "path\filename" /setowner "NT Service\TrustedInstaller"
Eksempel:
icacls "C:\Windows\PolicyDefinitions\WindowsStore.admx" /setowner "NT Service\TrustedInstaller"
TrustedInstaller ejer nu filen WindowsStore.admx.
icacls /setowner access denied?
I nogle tilfælde kan kommandolinjen icacls.exe /setowner
støde på følgende fejl:
filename: Access is denied.Successfully processed 0 files; Failed processing 1 files
Det kan ske, når den støder på en NTFS-hardlink. Fejlen dukker normalt op, når du forsøger at ændre ejerskabet af beskyttede filer i Windows-mappen – f.eks. C:\Windows\Notepad.exe
. Et hardlink er filsystemets repræsentation af en fil, hvorved mere end én sti refererer til en enkelt fil på samme volumen.
For eksempel har filerne i Notepad.exe to hardlinkede filer, som du kan se ved hjælp af følgende kommando:
fsutil.exe hardlink list C:\Windows\notepad.exe
Du kan se, at Notepad.exe er hard-linket til følgende filer:
C:\Windows\System32\Notepad.exeC:\Windows\WinSxS\amd64_microsoft-windows-notepad_31bf3856ad364e35_10.0.19041.488_none_4cea9379ceedab35\notepad.exe
Kommandoen icacls.exe /setowner
støder på ACCESS_DENIED
-fejlen, når den behandler disse hardlinks.
Bemærk, at der i dokumentationen til icacls.exe står: “Denne indstilling fremtvinger ikke en ændring af ejerskabet; brug værktøjet takeown.exe til det formål.”
Hvis du støder på “Access is Denied”-fejl, når du indstiller ejerskab ved hjælp af Icacls, kan du være nødt til at benytte Takeown.exe, SubInACL eller kommandolinjeværktøjet SetACL.exe fra en tredjepart (se næste afsnit).
Brug af SetACL.exe til at tage ejerskab og tildele tilladelser
SetACL.exe er et kommandolinjeværktøj fra en tredjepart (fra HelgeKlein.com), som vi har dækket før.
SetACL: Kommandolinjeargumenter
Hvor vi går videre, skal vi se kommandolinjesyntaksen for ændring af ejerskab og tilladelser til filer/registre ved hjælp af SetACL.
SetACL -on objectname -ot objecttype -actn action
-
-on
: Angiv stien til det objekt, som SetACL skal operere på (f.eks, fil, registreringsdatabasenøgle, netværksfællesskab, tjeneste eller printer). -
-ot
: Angiv objekttypen. Hvis du vil ændre ejerskab eller tilladelser for en fil eller mappe, skal du bruge objekttypenfile
. For registernøgler skal du bruge objekttypenreg
-
-actn
: Angiv handlingen med hensyn til, hvad SetACL skal gøre ved det angivne objekt. For at overtage ejerskab skal du angive handlingen somsetowner
. For at ændre tilladelser skal du angive handlingen somace
. -
-ownr
: Angiv navn eller SID for en administrator (en bruger eller gruppe) i dette format – f.eks."n:Administrators"
(Se SetACL-dokumentationen for den fulde liste over objekter, typer og understøttede handlinger.)
For at ændre ejerskab og give tilladelse til fuld kontrol er der nogle eksempler:
Eksempler:
setacl.exe -on c:\windows\notepad.exe -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller"setacl.exe -on c:\windows\notepad.exe -ot file -actn setowner -ownr "n:Administrators"setacl.exe -on c:\windows\notepad.exe -ot file -actn setowner -ownr "n:John"setacl.exe -on "d:\test" -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller"setacl.exe -on "d:\test" -ot file -actn setowner -ownr "n:Administrators"setacl.exe -on "d:\test" -ot file -actn setowner -ownr "n:John"
Eksempler: Skift ejerskab af en enkelt fil eller mappe:
setacl.exe -on c:\windows\notepad.exe -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller"setacl.exe -on c:\windows\notepad.exe -ot file -actn setowner -ownr "n:Administrators"setacl.exe -on c:\windows\notepad.exe -ot file -actn setowner -ownr "n:John"setacl.exe -on "d:\test" -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller"setacl.exe -on "d:\test" -ot file -actn setowner -ownr "n:Administrators"setacl.exe -on "d:\test" -ot file -actn setowner -ownr "n:John"
Eksempler: Hvis du vil angive ejerskabet til en mappe og dens undermapper (ikke til filer) rekursivt, skal du bruge et af disse eksempler:
setacl.exe -on d:\test -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller" -rec contsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Administrators" -rec contsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Ramesh" -rec cont
-
-rec
– rekursion er aktiveret.
-
cont
– Recurse, og behandl kun mapper.
-rec
– rekursion er aktiveret.cont
– Recurse, og behandl kun mapper. Mulighed 2: Hvis du vil angive ejerskab for filer i en mappe og dens undermapper (ikke for mapper) rekursivt, skal du bruge et af disse eksempler:
setacl.exe -on d:\test -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller" -rec objsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Administrators" -rec objsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Ramesh" -rec obj
-
-rec
– rekursion er aktiveret. -
obj
– Recurse, og behandl kun filer.
Mulighed 3: Hvis du vil angive ejerskab for en mappe, dens undermapper og filerne rekursivt, skal du bruge et af disse eksempler:
setacl.exe -on d:\test -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller" -rec cont_objsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Administrators" -rec cont_objsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Ramesh" -rec cont_obj
-
-rec
– rekursion er aktiveret. -
cont_obj
– Recurse, og behandl mapper og filer.
Eksempler: Tildel de nødvendige tilladelser til en fil eller mappe:
Når du har ejerskabet, kan du tildele de nødvendige tilladelser til et objekt. Her er nogle eksempler:
For at tildele tilladelserne til en enkelt fil eller mappe skal du bruge et af disse eksempler:
setacl.exe -on "d:\test\sample.xlsx" -ot file -actn ace -ace "n:Administrators;p:full"setacl.exe -on "d:\test\sample.xlsx" -ot file -actn ace -ace "n:John;p:full"setacl.exe -on "d:\test" -ot file -actn ace -ace "n:Administrators;p:full"setacl.exe -on "d:\test" -ot file -actn ace -ace "n:John;p:full"
Eksempler: Tildel de nødvendige tilladelser rekursivt:
Mulighed 1: For en mappe og undermapper (ikke filer) rekursivt, skal du bruge et af disse eksempler:
setacl.exe -on "d:\test" -ot file -actn ace -ace "n:Administrators;p:full" -rec contsetacl.exe -on "d:\test" -ot file -actn ace -ace "n:John;p:full" -rec cont
-
-rec
– rekursion er aktiveret. -
cont
– Recurse, og behandl kun mapper.
Mulighed 2: For filer i en mappe og undermapper (ikke mapper) rekursivt, skal du bruge et af disse eksempler:
setacl.exe -on "d:\test" -ot file -actn ace -ace "n:Administrators;p:full" -rec objsetacl.exe -on "d:\test" -ot file -actn ace -ace "n:John;p:full" -rec obj
-
-rec
– rekursion er aktiveret. -
obj
– Recurse, og behandl kun filer.
Mulighed 3: For en mappe, dens undermapper og filerne rekursivt skal du bruge et af disse eksempler:
setacl.exe -on "d:\test" -ot file -actn ace -ace "n:Administrators;p:full" -rec cont_objsetacl.exe -on "d:\test" -ot file -actn ace -ace "n:John;p:full" -rec cont_obj
-
-rec
– rekursion er aktiveret. -
cont_obj
– Recurse, og behandle mapper og filer.
Du kan tjekke SetACL’s officielle dokumentation for at få mere at vide om alle dets muligheder. Men for at indstille tilladelser & til fil- og mappeejerskab & vil takeown.exe og icacls.exe være mere end tilstrækkeligt for de fleste brugere.