i den här artikeln lär vi oss hur du ställer in eller återställer NTFS-behörigheter för en fil eller mapp i ett Windows-operativsystem med icacls-kommando.
det kan hända att vi i vissa fall kan tappa filer eller katalogbehörigheter ur sikte, och när vi försöker komma åt en specifik fil har vi inget resultat eftersom vi inte har rätt att göra det.
eller så kan vi behöva köra en programvara som för behörighetsproblem inte fungerar som den ska.
vi kan också behöva komma åt en fil som kom från en gammal säkerhetskopia eller en annan dator och därför skapades med en annan användare; även då kommer det inte att vara möjligt att komma åt den.
i alla dessa fall kommer Icacls-kommandot att hjälpa till.
Vad är Icacls?
Icacls ersätter cacls (Change Access Control List), ett kommandoradsverktyg som låter dig visa och utföra vissa operationer på ACL för filer eller kataloger.
ACL (Access Control List) är en lista över behörigheter för ett filsystemobjekt och definierar hur dess säkerhet styrs genom att hantera vem och hur det kan nås.
faktiskt är operationer på ACL inte de enda som är möjliga med detta verktyg.
det som gör det till ett kraftfullt verktyg är också möjligheten att utföra säkerhetskopiering och återställning på ACL för filer eller kataloger, eller att söka efter filer som har en specifik användare som ägare.
och dessutom, om en ACL är skadad eller förstörd, med icacls kan du återställa den genom att återställa den och ställa in standardbehörigheter eller ärva de av föräldern.
Icacls: återställnings-och bidragsfunktionerna
Återställ
Icacls är ett inbyggt Windows-kommando som körs på Windows Vista, Windows 7, Windows 8 och Windows 10.
Föreställ dig att vi har en extern hårddisk där en studie som gjordes 2018 lagrades, och vi vill återställa den, men vi har inte fullständig kontroll.
så snart vi försöker öppna mappen får vi följande varningsmeddelande.
en lösning är därför att använda återställningsfunktionen för Icacls.
men var uppmärksam på följande steg.
låt oss öppna kommandoterminalen i administratörsläge.
låt oss flytta till mappen och skriva återställningskommandot enligt följande:
$> icacls * /t /q /c /reset
och igen har vi ”Åtkomst nekas” som svar.
vi måste därför först bli ägare till mappen med takeown-kommandot:
$> takeown / R / F *
genom att klicka på Ja, kommer du nu att ha en återställning av ACL, och tillståndet tillstånd kommer att vara enligt följande:
Grant
Tänk dig nu att vara i följande situation:
endast användaren som heter Peter har tillgång till mappen, och vi vill också ge bidrag till federica-användaren.
med föregående kommando kan vi bli ägare till mappen
$> takeown / R / F *
och skriv sedan följande kommando:
$> icacls "E:\Study2018" /t /grant:F
i det här fallet har jag lagt in alternativen /t, det betyder rekursivt och F som betyder ”full åtkomst” för användaren som vi vill ge bidrag till.
för fler alternativ, se den officiella sidan.
andra icacls funktioner
om du behöver spara ACL i en fil för en senare återställning, kan du göra med hjälp av ett par ”spara och återställa” kommandon.
en mycket enkel åtgärd ur synvinkel: information om ACL: erna sparas i en fil som kan användas vid behov för att återställa en tidigare situation.
det bör dock noteras att data om åtkomsträttigheter, särskilt i delade mappar, kan vara mycket varierande över tiden.
vi kan då befinna oss i en situation där vi kommer att återställa en situation som skiljer sig från verkligheten eller till och med inkonsekvent.
dessutom verkar filen som skapas, öppnas och läsas med en gemensam textredigerare vara en Unicode-text.
men se upp, för det är det inte.
öppna filen och spara den med vissa ändringar gör den oanvändbar i återställningsoperationer.
paret” spara och återställ ” – kommandon är som följer:
icacls FILE_O_DIRECTORY /save aclfile /t
icacls
DIRECTORY
/Återställ aclfile
du kommer omedelbart att märka en skillnad mellan de två kommandona.
Spara-kommandot kan köras både på fil och på kataloger (FILE_O_O_DIRECTORY måste ersättas med namnet på filen eller katalogen som vi vill spara ACL för).
medan återställningskommandot bara fungerar på kataloger.
ett exempel på användning är följande:
E:\> icacls filediprova.txt /save aclfile /t
E:\>icacls . /restore aclfile
som du kan se, i Återställ kommandofall kommer vi inte att använda filediprova.txt Men katalogen där den finns.