Varje fil eller mapp i en NTFS-volym har en ägare. Vissa systemfiler ägs av TrustedInstaller, vissa av SYSTEM-kontot och andra av gruppen ”Administratörer”. Om en användare skapar en fil eller mapp är den användaren vanligtvis ägare till filen eller mappen. Ägaren är den som kan tilldela andra användare behörigheter (Tillåt eller Neka) för det objektet.

Om en användare inte är ägare till en fil eller mapp eller inte har några behörigheter för åtkomst till filen får han felmeddelandet ”access is denied” när han får tillgång till objektet. Om användaren är en administratör kan han ta över äganderätten till objektet med hjälp av filens eller mappens Egenskaper – fliken Säkerhet. Sedan kan han tilldela sig själv de nödvändiga behörigheterna.

Det här inlägget berättar hur du tar äganderätt till en fil eller mapp och tilldelar nödvändiga behörigheter för den med hjälp av kommandoraden i stället för GUI.

Windows innehåller ett verktyg för kommandoraden som heter Takeown.exe, som kan användas från en administratörskommandotolk för att snabbt ändra äganderätten till en fil eller mapp. Så här tar du äganderätt till en fil eller mapp och tilldelar sedan behörigheter för ett konto med hjälp av kommandoraden.

Ta äganderätt till en fil

Öppna ett upphöjt fönster i kommandotolken. Använd följande syntax för att ta över äganderätten till en fil:

TAKEOWN /F <filename>

Ersätt <filnamn> med det faktiska filnamnet med fullständig sökväg.

Den för närvarande inloggade användaren är nu ägare till filen.

För att ställa in Administrators-gruppen som ägare till filen använder du växeln /A i tillägg:

TAKEOWN /F <filename> /A
  • /A Ger äganderätten till gruppen Administratörer istället för till den aktuella användaren. Om /A inte anges ges äganderätten till filen till den för närvarande inloggade användaren. Den här parametern är inte skiftlägeskänslig.

Om operationen lyckades bör följande meddelande visas:

”SUCCESS: Filen (eller mappen): ”

eller

SUCCESS: Filen (eller mappen): ”

Tilldela filbehörigheter

Om du vill ge administratörer full kontrollbehörighet för filen använder du ICACLS. Här är syntaxen:

ICACLS <filename> /grant administrators:F

Exempel 2: Om du vill tilldela full kontrollbehörighet för den inloggade användaren använder du det här kommandot:

ICACLS <filename> /grant %username%:F

%användarnamn% representerar kontonamnet för den inloggade användaren. ICacls accepterar den här variabeln direkt.

Exempel 3: Om du vill tilldela full kontrollbehörighet för användaren John använder du det här kommandot:

ICACLS <filename> /grant John:F

Ta äganderätt till en mapp

Använd följande syntax:

takeown /f <foldername>

(eller)

takeown /f <foldername> /a
  • /a Ger äganderätt till gruppen Administratörer i stället för till den aktuella användaren. Om /a inte anges ges äganderätten till den för närvarande inloggade användaren. Den här parametern är inte skiftlägeskänslig.

Du får se följande utdata:

SUCCESS: Filen (eller mappen): ”folder_name” ägs nu av användaren ”computername\username”

(eller)

SUCCESS: Filen (eller mappen): ”

Ändra ägarskap rekursivt:

Om du vill ändra äganderätten till en mapp, dess undermappar och filer i varje undermapp använder du den här syntaxen:

takeown /f <foldername> /r /d y

Den användare som är inloggad för tillfället är nu ägare till mappen.

För att ställa in Administrators-gruppen som ägare till mappen, dess undermappar och filer rekursivt använder du växeln /A i tillägg:

TAKEOWN /F <foldername> /a /r /d y
  • /R Recurse: instruerar verktyget att verka på filer i den angivna katalogen och alla underkataloger.
  • /D prompt Standard-svaret som används när den aktuella användaren inte har behörigheten ”list folder” på en katalog. Detta inträffar när man opererar rekursivt (/R) på underkataloger. Giltiga värden ”Y” för att ta över äganderätten eller ”N” för att hoppa över.

Tilldela mappbehörigheter

Om du sedan vill tilldela gruppen Administratörer full kontrollbehörighet för mappen använder du den här syntaxen:

icacls <foldername> /grant administrators:F /T

Parametern /T läggs till för att operationen ska utföras genom alla underkataloger och filer i den mappen.

Hjälp på kommandoraden:

För att få fullständig information om användningen av Takeown.exe och ICacls.exe kan du köra dessa kommandon från en kommandotolk.

takeown /?
icacls /?

Lättare metoder för att ta över äganderätten

Kommandoskript

För att ytterligare förenkla processen för att ta över äganderätten tillhandahåller Tim Sneath från Microsoft en .CMD-fil (Windows Command Script) som tar över äganderätten och tilldelar administratörer full kontrollbehörighet för katalogen. Mer information finns i Tims inlägg med titeln Secret #11: Ta bort det som inte kan raderas.

Lägg till kommandot ”Take Ownership” i högerklickmenyn

Detta använder återigen det speciella runas-verbet i Windows Vista och högre, som jag har behandlat tidigare (REF RunAs).

via WinMatrix.com

Ladda ner takeown_context.reg och spara på skrivbordet. Högerklicka på filen och välj Merge. Klicka på Ja när du blir ombedd att bekräfta. Detta lägger till ett utökat kommando som heter Take Ownership i kontextmenyn för filer och kataloger. För att komma åt kommandot måste du hålla ned SHIFT-tangenten och sedan högerklicka på en fil eller mapp.

(Du kan läsa mer om tweaken i artikeln Take Ownership of File or Folder via Right-click Context Menu in Windows.)

Additional Information

Ovanstående avsnitt täcker det mesta du behöver. Läs nedan om du behöver fler tips om det här ämnet.

icacls.exe kan också ändra äganderätten till en fil eller mapp!

Takeown.exe och Icacls.exe är de två inbyggda konsolverktygen i Windows som låter dig ändra äganderätten till en fil eller mapp respektive tilldela åtkomstkontrollbehörigheter. Takeown.exe ställer in det för närvarande inloggade användarkontot som ägare till ett objekt (fil eller mapp).

Med Takeown.exe kan du dock inte göra ett annat konto till ägare till ett objekt.

Vet du att verktyget icacls.exe också kan användas för att ändra äganderätten?

Om du vill ändra äganderätten till ett konto hos en tredje part (t.ex, det konto som för närvarande inte är inloggat) eller en grupp kan du använda icacls.exe med kommandoradsargumentet /setowner i stället för takeown.exe.

Ändra äganderätten till en fil eller mapp med hjälp av icacls.exe

Vi såg hur du ändrar äganderätten med hjälp av icacls.exe i den sista delen av artikeln Ta äganderätten till en fil eller mapp med hjälp av kommandoraden i Windows. Här är några fler exempel:

Följande är syntaxen för kommandoraden för att ändra äganderätten till en fil eller mapp med hjälp av icacls.exe:

icacls "file_or_folder_name" /setowner "NT Service\TrustedInstaller"

Exempel: Om operationen lyckades visas följande meddelande:

processed file: file_or_folder_nameSuccessfully processed 1 files; Failed processing 0 files

Exempel 2: Ändra äganderätten till en enda fil eller mapp

icacls "D:\Annual Reports20\November" /setowner "John"
icacls "D:\Tax Audit\November.xlsx" /setowner "John"
icacls "D:\Tax Audit\November.xlsx" /setowner "Administrators"

Om operationen lyckades visas följande meddelande:

processed file: file_or_folder_nameSuccessfully processed 1 files; Failed processing 0 files

Exempel 2: Om du vill ändra äganderätten till en mapp (undermapp och filer) rekursivt

Om du vill ändra äganderätten till en mapp, dess undermappar och alla filer i alla undermappar rekursivt, använder du växeln /T (traverse) i tillägg:

icacls "folder_name" /setowner "Administrators" /T
  • /T indikerar att den här operationen utförs på alla matchande filer/kataloger under de kataloger som anges i namnet.

Ovanstående kommando ställer in TrustedInstaller som ägare till mappen, dess undermappar och alla filer i alla undermappar.

Återställ äganderätten till TrustedInstaller

För att åtgärda ett problem kan det ibland hända att du måste ändra en datafil, till exempel XML, eller en registernyckel som ägs av TrustedInstaller. För detta måste du först ta över äganderätten till filen, mappen eller registernyckeln.

När du har ändrat filerna eller inställningarna måste du återföra äganderätten tillbaka till TrustedInstaller, om TrustedInstaller var den tidigare eller ursprungliga ägaren. Du ställer in äganderätten till TrustedInstaller på följande sätt:

Tjänsten Windows Modules Installer eller TrustedInstaller gör det möjligt att installera, ändra och ta bort Windows-uppdateringar och valfria komponenter. Som standard är TrustedInstaller också ägare till många viktiga registernycklar och systemfiler.

  1. Högerklicka på en fil eller registernyckel och klicka på Behörigheter.
  2. Klicka på Avancerat för att öppna dialogrutan Avancerade säkerhetsinställningar.
  3. Närmast ”Ägare:”, klicka på Ändra.
  4. I dialogrutan Välj användare eller grupp skriver du ”NT SERVICE\TrustedInstaller” och trycker på ENTER.
  5. Klicka på Tillämpa, OK.

Detta ändrar objektets ägarskap (fil, mapp eller registernyckel) till TrustedInstaller eller Windows Modules Installer.

Användning av kommandot icacls.exe för att ställa in TrustedInstaller som ägare till en fil

Från ett administratörsfönster i kommandotolken använder du följande syntax för kommandoraden:

icacls "path\filename" /setowner "NT Service\TrustedInstaller"

Exempel:

icacls "C:\Windows\PolicyDefinitions\WindowsStore.admx" /setowner "NT Service\TrustedInstaller"

TrustedInstaller äger nu filen WindowsStore.admx.

icacls /setowner access denied?

Undertiden kan kommandoraden icacls.exe /setowner stöta på följande fel:

filename: Access is denied.Successfully processed 0 files; Failed processing 1 files

Detta kan hända när den stöter på en NTFS-hårdlänk. Felet dyker vanligtvis upp när du försöker ändra äganderätten till skyddade filer i Windows-katalogen – t.ex. C:\Windows\Notepad.exe. En hårdlänk är filsystemets representation av en fil genom vilken mer än en sökväg refererar till en enskild fil i samma volym.

Till exempel har filerna i Notepad.exe två hårdlänkade filer, vilket du kan se med följande kommando:

fsutil.exe hardlink list C:\Windows\notepad.exe

Du kan se att Notepad.exe är hårt länkad till följande filer:

C:\Windows\System32\Notepad.exeC:\Windows\WinSxS\amd64_microsoft-windows-notepad_31bf3856ad364e35_10.0.19041.488_none_4cea9379ceedab35\notepad.exe

Kommandot icacls.exe /setowner stöter på felet ACCESS_DENIED när det bearbetar dessa hårda länkar.

Notera att det i dokumentationen till icacls.exe står: ”Det här alternativet tvingar inte fram någon ändring av äganderätten, utan du kan använda verktyget takeown.exe för det ändamålet.”

Om du stöter på ”Access is Denied”-fel när du ställer in äganderätten med Icacls kan du behöva förlita dig på Takeown.exe, SubInACL eller tredjepartsverktyget SetACL.exe (se nästa stycke).

Användning av SetACL.exe för att ta äganderätt och tilldela behörigheter

SetACL.exe är ett tredjepartsverktyg för kommandoraden (från HelgeKlein.com) som vi har behandlat tidigare.

SetACL: Kommandoradsargument

För att fortsätta ska vi se kommandorads-syntaxen för att ändra ägarskap och behörigheter för filer/register med hjälp av SetACL.

SetACL -on objectname -ot objecttype -actn action
  • -on: Ange sökvägen till objektet som SetACL ska arbeta med (t.ex, fil, registernyckel, nätverksdelning, tjänst eller skrivare).
  • -ot: Ange objekttyp. Om du vill ändra ägarskap eller behörigheter för en fil eller mapp använder du objekttypen file. För registernycklar använder du objekttypen reg
  • -actn: Ange åtgärd för vad SetACL ska göra med det angivna objektet. För att ta över äganderätten anges åtgärden som setowner. För att ändra behörigheter anger du åtgärden som ace.
  • -ownr: Ange namn eller SID för en förvaltare (en användare eller grupp) i det här formatet – t.ex. "n:Administrators"

(Se dokumentationen till SetACL för en fullständig lista över objekt, typer och åtgärder som stöds.)

För att ändra äganderätt och ge full kontrollbehörighet finns följande exempel:

Exempel: Ändra ägarskap för en enskild fil eller mapp:

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"

Exempel: Ändra ägarskap för en enskild fil eller mapp:

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"

Exempel: Om du vill ange äganderätten till en mapp och dess undermappar (inte för filer) rekursivt använder du ett av dessa exempel:

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 är aktiverad.
  • cont – Återkorsa och bearbeta endast kataloger.

Option 2: Om du vill fastställa äganderätten till filer i en mapp och dess undermappar (inte för mappar) rekursivt använder du ett av dessa exempel:

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 är aktiverad.
  • obj – Återkorsa och bearbeta endast filer.

Option 3: Om du vill ange äganderätten till en mapp, dess undermappar och filerna rekursivt använder du ett av dessa exempel:

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 – återkorsning är aktiverad.
  • cont_obj – Återkorsa och bearbeta kataloger och filer.

Exempel: Tilldela nödvändiga behörigheter för en fil eller mapp:

När du har äganderätten kan du tilldela nödvändiga behörigheter för ett objekt. Här är några exempel:

Om du vill tilldela behörigheter för en enskild fil eller mapp använder du ett av dessa exempel:

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"

Exempel:

Option 1: För en mapp och undermappar (inte filer) rekursivt, använd ett av dessa exempel:

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 är aktiverad.
  • cont – Återkorsa och bearbeta endast kataloger.

Option 2: För filer i en mapp och undermappar (inte mappar) rekursivt, använd ett av dessa exempel:

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 är aktiverad.
  • obj – Återkorsa och bearbeta endast filer.

Option 3: För en mapp, dess undermappar och filerna rekursivt, använd ett av dessa exempel:

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 är aktiverad.
  • cont_obj – Rekurerar och bearbetar kataloger och filer.

Du kan läsa den officiella dokumentationen till SetACL för att få information om alla dess möjligheter. För att ställa in behörigheter för ägande av filer och mappar & är takeown.exe och icacls.exe dock mer än tillräckliga för de flesta användare.

Lämna ett svar

Din e-postadress kommer inte publiceras.