Guide för användarkontokontroll (UAC).

Användarkontokontroll är förmodligen den mest underskattade och kanske till och med den mest hatade funktionen som debuterade i Vista och har varit en del av alla efterföljande versioner av Windows. Mycket av det hat som användare kastar mot användarkontokontroll är, enligt min mening, oförtjänt, eftersom funktionen ger verkliga fördelar. Jag håller helt med om att användarkontokontroll (UAC) kan vara ganska irriterande ibland, men det introducerades i Windows för ett syfte. Nej, inte för att störa användarna, utan för att underlätta en smidig övergång från ett standardkonto (begränsat) till ett administratörskonto.

I den här artikeln kommer jag att förklara vad UAC är, hur det fungerar, varför det är nödvändigt och hur man ställer in det. Jag har ingen avsikt att berätta varför du ska använda UAC, utan snarare informera dig om vad du går miste om genom att inaktivera den.

Lite bakgrund och kontoinformation

Som du borde veta fungerar Windows med så kallade konton. De finns i två typer: administratör och standard (begränsad).

Administratörskontot ger användaren full tillgång till alla funktioner i operativsystemet, d.v.s. användaren kan göra vad han vill. En standardkontoanvändare har minskade rättigheter och får därför bara göra vissa saker. Detta är som regel allt som bara påverkar den aktuella användaren. Till exempel: ändra bakgrunden på skrivbordet, musinställningar, ändra ljudschemat, etc. I allmänhet finns allt som är specifikt för en specifik användare och inte gäller hela systemet tillgängligt i standardkontot. Allt som kan påverka systemet som helhet kräver administratörsåtkomst.

En av uppgifterna som tilldelas dessa konton är att skydda mot skadlig kod. Den allmänna tanken här är att användaren utför normalt arbete under ett begränsat konto och byter till administratörskontot endast när en åtgärd kräver det. Paradoxalt nog får skadlig programvara samma nivå av rättigheter som användaren loggade in med.

I Windows 2000 och Windows XP är det inte tillräckligt flexibelt att utföra åtgärder som administratör, och därför var det inte särskilt bekvämt att arbeta under ett begränsat konto. Ett av sätten att utföra en administrativ åtgärd i dessa versioner av systemet ser ut så här: att logga ut från ett begränsat konto (eller snabbt byta om du använde Windows XP) -> logga in på administratörskontot -> utföra en åtgärd -> logga ut från administratörskontot (eller snabbväxling om Windows XP användes) -> återgå till ett begränsat konto.

Ett annat alternativ är att använda snabbmenyn och alternativet "Kör som en annan användare", vilket öppnar ett fönster där du måste ange lämpligt administratörskonto och lösenord för att köra filen som administratör. Detta är ett ganska snabbt sätt att byta från ett konto till ett annat, men det gäller inte för alla situationer som kräver administrativa rättigheter. Ett annat problem med den här metoden är att administratörskontot måste ha ett lösenord, annars misslyckas körningen.

Det är därför User Account Control introducerades i Windows Vista och nådde nästan perfektion i Windows 7.

Vad är UAC

UAC är en funktion i Windows Vista, 7, 8, 8.1 och 10 som syftar till att göra övergången från en begränsad miljö till en administratörsmiljö så smidig och problemfri som möjligt, vilket eliminerar behovet av att manuellt köra filer som administratör eller byte mellan konton. Dessutom är UAC ett extra skyddslager som kräver liten ansträngning från användarens sida, men som kan förhindra allvarlig skada.

Hur UAC fungerar

När en användare loggar in på sitt konto skapar Windows en så kallad användaråtkomsttoken, som innehåller viss information om det kontot och främst olika säkerhetsidentifierare som operativsystemet använder för att styra åtkomstmöjligheterna för det kontot. Med andra ord är denna token ett slags personligt dokument (som ett pass, till exempel). Detta gäller alla versioner av Windows baserade på NT-kärnan: NT, 2000, XP, Vista, 7, 8 och 10.

När en användare loggar in på ett standardkonto (begränsat) genereras en standardanvändartoken med begränsade rättigheter. När en användare loggar in på ett administratörskonto, en s.k. administratörstoken med full åtkomst. Logisk.

Men i Windows Vista, 7, 8 och 10, om UAC är aktiverat och användaren är inloggad på ett administratörskonto, skapar Windows två tokens. Administratören finns kvar i bakgrunden, och standarden används för att starta Explorer.exe. Det vill säga, Explorer.exe körs med begränsade rättigheter. I det här fallet blir alla processer som startas efter detta underprocesser av Explorer.exe med ärvda begränsade privilegier för huvudprocessen. Om en process kräver administrativa rättigheter begär den en administratörstoken och Windows i sin tur ber användaren om tillåtelse att förse processen med denna token i form av en speciell dialogruta.

Denna dialogruta innehåller det så kallade säkra skrivbordet, som endast kan nås av operativsystemet. Det ser ut som en mörkare ögonblicksbild av det faktiska skrivbordet och innehåller bara ett administratörsbekräftelsefönster och möjligen en språkfält (om mer än ett språk är aktiverat).

Om användaren inte accepterar och klickar på "Nej", kommer Windows att neka processen en administratörstoken. Och om han samtycker och väljer "Ja", kommer operativsystemet att ge processen de privilegier den behöver, nämligen en administratörstoken.

Om processen redan körs med reducerade rättigheter kommer den att startas om med förhöjda (administratörs)rättigheter. En process kan inte degraderas eller främjas direkt. När en process väl har lanserats med en token kommer den inte att kunna erhålla andra rättigheter förrän den lanseras igen med nya rättigheter. Ett exempel är Task Manager, som alltid körs med begränsade rättigheter. Om du klickar på knappen "Visa processer för alla användare" stängs Aktivitetshanteraren och startas igen, men med administratörsrättigheter.

När du använder ett standardkonto ber UAC dig att ange ett specifikt administratörskonto och ange ett lösenord:

Hur UAC skyddar användaren

UAC i sig ger inte mycket säkerhet. Det gör det bara lättare att gå över från en begränsad miljö till en administrativ miljö. Så ett bättre sätt att ställa frågan är därför hur ett begränsat konto hindrar användaren. Under en begränsad användarprofil kan processer inte komma åt vissa systemområden:

  • huvuddiskpartition;
  • andra användares användarmappar i mappen \Users\;
  • Program Files-mappen;
  • Windows-mappen och alla dess undermappar;
  • delar av andra konton i systemregistret
  • HKEY_LOCAL_MACHINE i systemregistret.

Varje process (eller skadlig kod) utan administratörsrättigheter kan inte tränga djupt in i systemet, utan tillgång till nödvändiga mappar och registernycklar, och kan därför inte orsaka allvarlig skada på systemet.

Kan UAC störa äldre program som inte är officiellt kompatibla med Vista/7/8/10

Borde inte. När UAC är aktiverat är virtualisering också aktiverad. Vissa gamla och/eller helt enkelt dåligt skrivna program använder inte rätt mappar för att lagra sina filer (inställningar, loggar, etc.). De korrekta mapparna är mapparna i AppData-katalogen som varje konto har och där varje program kan skapa en mapp för att lagra vad det vill.

Vissa program försöker spara sina filer till Program Files och/eller Windows. Om programmet körs med administratörsrättigheter kommer detta inte att vara ett problem. Men om programmet körs med begränsade behörigheter kommer det inte att kunna göra ändringar i filer/mappar i Programfiler och/eller Windows. Operativsystemet tillåter det helt enkelt inte.

För att förhindra problem med sådana program erbjuder Windows virtualisering av mappar och registernycklar som program med begränsade rättigheter i princip inte kan komma åt. När ett sådant program försöker skapa en fil i en skyddad mapp, omdirigerar operativsystemet den till en speciell VirtualStore-mapp, som finns i X:\Users\<имя-вашего-профиля>\AppData\Local\(där X: är systempartitionen, vanligtvis C:). De där. Genom själva programmets ögon är allt bra. Hon möter inga hinder och känner att hon skapar filer/mappar precis där hon vill ha dem. VirtualStore innehåller vanligtvis programfiler och Windows-undermappar. Här är en skärmdump av programfiler i min VirtualStore-mapp:

Och här är vad som finns i SopCast-mappen, till exempel:

De där. om UAC stoppades, eller om programmet alltid kördes som administratör, skulle dessa filer/mappar skapas i C:\Program Files\SopCast. I Windows XP skulle dessa filer och mappar skapas utan problem, eftersom alla program i den har administratörsrättigheter som standard.

Detta bör naturligtvis inte ses av utvecklare som en permanent lösning. Varje författares ansvar är att skapa programvara som är helt kompatibel med nuvarande operativsystem.

UAC dialogrutor

Du kanske har märkt att det bara finns tre olika UAC-dialogrutor. Här ska vi titta på dem i Windows 7, 8.x och 10. I Vista är dialogerna något annorlunda, men vi kommer inte att uppehålla oss vid dem.

Den första typen av fönster har en mörkblå rand upptill och en sköldikon i det övre vänstra hörnet, som är uppdelad i 2 blå och 2 gula sektioner. Detta fönster visas när bekräftelse krävs för en process med en digital signatur som tillhör operativsystemet - den sk. Windows binärer. Vi kommer att prata om dem nedan.

Den andra typen av fönster har också ett mörkblått band, men sköldikonen är helt blå och har ett frågetecken. Detta fönster visas när bekräftelse krävs för en digitalt signerad process, men processen/filen inte ägs av operativsystemet.

Det tredje fönstret är dekorerat med en orange rand, skölden är också orange, men med ett utropstecken. Den här dialogrutan visas när bekräftelse krävs för en process utan digital signatur.

UAC-inställningar

Inställningar för användarkontokontroll (driftlägen) finns i Kontrollpanelen -> System och säkerhet -> Ändra inställningar för kontroll av användarkonto. Det finns bara 4 av dem:

Meddela alltid är den högsta nivån. Det här läget motsvarar hur UAC fungerar i Windows Vista. I detta läge kräver systemet alltid bekräftelse av administratörsrättigheter, oavsett processen och vad den kräver.

Den andra nivån är standard i Windows 7, 8.x och 10. I det här läget visar inte Windows UAC-fönstret när det kommer till de så kallade Windows-binärerna. De där. Om en fil/process som kräver administratörsrättigheter uppfyller följande 3 villkor, kommer operativsystemet att ge dem till den automatiskt, utan bekräftelse från användaren:

  • filen har ett manifest inbyggt eller som en separat fil, vilket indikerar automatisk upphöjning av rättigheter;
  • filen finns i Windows-mappen (eller i någon av dess undermappar);
  • filen är signerad med en giltig digital Windows-signatur.

Det tredje läget är detsamma som det andra (föregående), men med skillnaden att det inte använder ett säkert skrivbord. Det vill säga att skärmen inte mörknar, och UAC-dialogrutan visas som alla andra. Microsoft rekommenderar inte att du använder det här alternativet, och jag kommer att förklara varför senare.

Meddela mig inte är den fjärde och sista nivån. Detta innebär i huvudsak att inaktivera UAC helt.

Två anmärkningar är i sin ordning här:

  • Windows digitala signatur hänvisar specifikt till operativsystemet. Jag säger detta eftersom det också finns filer som har signerats digitalt av Microsoft. Det här är två separata signaturer, där UAC bara känner igen Windows digitala signatur eftersom den fungerar som ett bevis på att filen inte bara är från Microsoft utan är en del av operativsystemet.
  • Inte alla Windows-filer har ett manifest för automatisk höjning av rättigheter. Det finns filer som medvetet saknar detta. Till exempel regedit.exe och cmd.exe. Det är tydligt att den andra är berövad automatisk marknadsföring, eftersom den ofta används för att starta andra processer, och som redan nämnts ärver varje ny process rättigheterna för den process som startade den. Detta innebär att vem som helst kan använda kommandotolken för att köra alla processer sömlöst med administratörsrättigheter. Som tur är är Microsoft inte dumt.

Varför är det viktigt att använda ett säkert skrivbord?

Ett säkert skrivbord förhindrar eventuell störning och påverkan från andra processer. Som nämnts ovan är det bara operativsystemet som har tillgång till det och med det accepterar det bara grundläggande kommandon från användaren, det vill säga att trycka på "Ja" eller "Nej" -knappen.

Om du inte använder ett säkert skrivbord kan en angripare förfalska ett UAC-fönster för att lura dig att köra sin skadliga fil med administratörsrättigheter.

När behövs administratörsrättigheter? När visas UAC-fönstret?

I allmänhet finns det tre fall där UAC adresserar användaren:

  • när du ändrar systeminställningar (inte användar), även om detta i själva verket bara gäller den maximala UAC-nivån;
  • när du installerar eller avinstallerar ett program/drivrutin;
  • när en applikation/process kräver administratörsbehörighet för att göra ändringar i systemfiler/mappar eller systemregisternycklar.

Varför det är viktigt att inte inaktivera UAC

Användarkontokontroll ger en hög skyddsnivå och kräver praktiskt taget ingenting i gengäld. Det vill säga UAC-effektiviteten är mycket hög. Jag förstår inte varför han irriterar folk så mycket. I det dagliga arbetet ser den genomsnittliga användaren UAC-fönstret 1-2 gånger om dagen. Kanske till och med 0. Är det så mycket?

Den genomsnittliga användaren ändrar sällan systeminställningar, och när de gör det bryr sig inte UAC med sina frågor om det fungerar med standardinställningarna.

Den genomsnittliga användaren installerar inte drivrutiner och program varje dag. Alla drivrutiner och de flesta nödvändiga program installeras en gång - efter installation av Windows. Det vill säga, detta är den huvudsakliga andelen UAC-förfrågningar. Efter detta ingriper UAC endast vid uppdatering, men nya versioner av program släpps inte varje dag, för att inte tala om drivrutiner. Dessutom uppdaterar många inte vare sig program eller drivrutiner alls, vilket ytterligare minskar UAC-problem.

Väldigt få program behöver administratörsrättigheter för att utföra sitt jobb. Dessa är främst defragmenterare, rengörings- och optimeringsverktyg, vissa program för diagnostik (AIDA64, HWMonitor, SpeedFan, etc.) och systeminställningar (Process Explorer och Autoruns, till exempel, men bara om du behöver göra något specifikt - säg, inaktivera en drivrutin/tjänst eller program från Windows). Och alla dessa är program som antingen inte behöver användas alls, eller i sällsynta fall. Alla ofta använda applikationer fungerar alldeles utmärkt med UAC och ställ inga frågor:

  • multimediaspelare (ljud och/eller video);
  • video/ljud-omvandlare;
  • program för bild/video/ljudbehandling;
  • program för att ta skärmdumpar av ditt skrivbord eller videoinspelningar på det;
  • bildvisningsprogram;
  • webbläsare;
  • filnedladdare (nedladdningshanterare och klienter för P2P-nätverk);
  • FTP-klienter;
  • snabbmeddelanden eller program för röst-/videokommunikation;
  • skivbränningsprogram;
  • arkiverare;
  • textredigerare;
  • PDF-läsare;
  • virtuella maskiner;
  • och så vidare.

Ens installation av Windows-uppdateringar använder inte UAC-fönstret.

Det finns människor som är villiga att offra 1-2 minuter eller mer om dagen för att "optimera" systemet med några snett skrivna program som inte gör någonting nyttigt, men som inte är villiga att spendera några sekunder om dagen för att svara på UAC-förfrågningar.

Olika uttalanden som "Jag är en erfaren användare och jag vet hur man skyddar mig själv" är inte tillräckligt, eftersom ingen är immun och resultatet av vissa situationer beror inte alltid på användaren. Dessutom tenderar människor att göra misstag, det händer alla.

Låt mig ge dig ett exempel: låt oss säga att du använder ett program som har sårbarheter, och en dag befinner du dig på en webbplats som utnyttjar dessa sårbarheter. Om användarkontokontroll är aktiverat och programmet körs med begränsade rättigheter, kommer en angripare inte att kunna orsaka mycket problem. Annars kan skadorna på systemet bli kolossala.

Och detta är bara ett av många exempel.

Köra program tillsammans med Windows med administratörsrättigheter

Jag erkänner att det kan finnas användare som stänger av UAC helt enkelt för att kunna köra program tillsammans med Windows och med administratörsrättigheter. Detta är inte möjligt på normalt sätt eftersom UAC inte kan skicka en förfrågan till användaren förrän skrivbordet är laddat. Det finns dock ett sätt genom vilket du kan lämna UAC aktiverat. Här är han:

  • öppen Schemaläggaren;
  • klick Skapa en uppgift;
  • i fält namn skriv in något du väljer och slå på alternativet längst ned i fönstret Kör med högsta rättigheter;
  • gå till fliken Utlösare och tryck Skapa;
  • Välj från rullgardinsmenyn högst upp När du loggar in; om du vill skapa en uppgift för en specifik användare, välj alternativet Användare och klicka sedan Växla användare; ange ditt användarnamn och bekräfta genom att trycka på knappen OK;
  • gå till fliken Handlingar och tryck Skapa;
  • klick Recension, ange lämplig applikation och bekräfta ditt val;
  • gå till fliken Betingelser och inaktivera alternativet Går endast på nätström;
  • på fliken alternativ inaktivera alternativet Stoppa som tar längre tid att slutföra;
  • bekräfta genom att trycka OK.

Redo. Uppgiften har lagts till så att applikationen nu laddas automatiskt med administratörsrättigheter. Det finns dock en liten hake här: alla sådana uppgifter utförs med en lägre prioritet än normalt - under det normala (under det normala). Om du är okej med det, då är det okej. Om inte, måste du arbeta lite hårdare:

  • springa Schemaläggaren om du redan har stängt den;
  • Välj Job Scheduler bibliotek;
  • markera din uppgift, klicka Exportera och spara den i .xml-format;
  • öppna .xml-filen i en textredigerare;
  • hitta avsnittet 7 , som ska vara i slutet av filen och ändra de sju (7) mellan öppnings- och stängningstaggarna till en femma (5);
  • spara filen;
  • I Task Scheduler, markera din uppgift igen, klicka Radera och bekräfta raderingen;
  • klicka nu Importuppgift, välj filen du just sparade och klicka på knappen OK.

Det är allt. Om du använder UAC eller inte är upp till dig, men det är viktigt att veta vad du förlorar när du inaktiverar det, samt att vara medveten om riskerna. Tack för din uppmärksamhet!

Ha en bra dag!