Vad är Linux /etc /shadow -filen och vad gör den?

Vad är Linux /etc /shadow -filen och vad gör den?

När du letar i dina Linux -systemfiler kan du ha stött på en fil i /etc katalogen heter skugga . Det kan låta läskigt, men det är verkligen en säker, nödvändig och användbar fil för systemadministration.





Idag ska vi titta närmare på innehållet i /etc/shadow filen och vad den kan berätta om ditt system.





Vad är /etc /shadow?

Mystiskt som det låter, är filens funktion ganska okomplicerad. De /etc/shadow filen innehåller information om ett Linux -systems användare, deras lösenord och tidsbestämmelser för deras lösenord.





hur man kör mac -appar på windows

När du skapar eller ändra ett lösenord i Linux , systemet hashar och lagrar det i skuggfilen. Alla lösenordsregler som tilldelats av administratören, till exempel utgångsdatum och inaktivitetsperioder, kommer också att finnas kvar här. Skuggfilen kan sedan berätta autentiseringsprotokoll om en användares lösenord är korrekt, till exempel eller när det har gått ut.

Du bör aldrig redigera skuggfilen direkt. Det underhålls av automatiserade processer och är inte avsett för vanliga användare att ändra. Ändå kan den information den innehåller vara värdefull för dig, så det är värt en titt.



Vad finns i Linux -skuggfilen?

För att se skuggfilens innehåll, öppna en terminal och ge ut katt kommando på den:

sudo cat /etc/shadow

Du får en uppmaning som ber dig om ditt lösenord. Om du har administrativa behörigheter ser du en utskrift av textsträngar som liknar denna (ellipsmarkering där strängen klipptes för att passa din skärm):





muo1:$IK2...a...:18731:0:99999:7:::

Det ser kryptiskt ut, och en del av det är krypterad text. Strängen följer dock en viss konstruktion och innehåller specifika bitar av information, avgränsade av kolon ( : ) karaktär.

Här är en komplett layout av strängen:





[username]:[password]:[date of last password change]:[minimum password age]:[maximum password age]:[warning period]:[inactivity period]:[expiration date]:[unused]

Låt oss titta närmare på vart och ett av dessa fält:

1. Användarnamn

Allt som följer i strängen är associerat med detta användarnamn.

2. Lösenord

Lösenordsfältet består av ytterligare tre fält, avgränsade med dollarstecken: $ id $ salt $ hash .

  • id: Detta definierar krypteringsalgoritmen som används för att kryptera ditt lösenord. Värden kan vara 1 (MD5), 2a (Blåsfisk), 2 år (Eksblowfish), 5 (SHA-256) eller 6 (SHA-512).
  • salt: Detta är saltet som används för att kryptera och autentisera lösenordet.
  • hash: Detta är användarens lösenord som det visas efter hashning. Skuggfilen behåller en hashversion av ditt lösenord så att systemet kan kontrollera mot alla försök att ange ditt lösenord.

Läs mer: Grundläggande krypteringsvillkor definierade

Ibland innehåller lösenordsfältet bara en asterisk ( * ) eller utropstecken ( ! ). Det betyder att systemet har inaktiverat användarens konto, eller att användaren måste autentisera med andra medel än ett lösenord. Detta är ofta fallet för systemprocesser (även kända som pseudo-användare) som du sannolikt också hittar i skuggfilen.

3. Datum för senaste lösenordsändring

Här hittar du förra gången den här användaren ändrade sitt lösenord. Observera att systemet visar datumet i Unix tid formatera.

4. Minsta lösenordsålder

Du hittar här antalet dagar användaren måste vänta efter att ha bytt lösenord innan han ändrar det igen.

Om minimum inte är inställt kommer värdet här att vara 0.

5. Maximal lösenordsålder

Detta definierar hur länge en användare kan gå utan att ändra sitt lösenord. Att byta lösenord ofta har sina fördelar, men som standard kommer värdet att sättas till generösa 99,999 dagar. Det är nära 275 år.

billigaste platsen att få bilderna tryckta

6. Varningstid

Detta fält bestämmer antalet dagar innan ett lösenord har nått sin maximala ålder, under vilken användaren kommer att få påminnelser om att ändra sitt lösenord.

förbjudet att du inte har behörighet att komma åt / på den här servern.

7. Inaktivitetsperiod

Detta är antalet dagar som kan passera efter att användarens lösenord har nått sin maximala ålder innan systemet inaktiverar kontot. Tänk på detta som en 'nådeperiod' under vilken användaren har en andra chans att ändra sitt lösenord, även om det är tekniskt slut.

8. Utgångsdatum

Detta datum är slutet på inaktivitetsperioden då systemet automatiskt inaktiverar användarens konto. När den är inaktiverad kan användaren inte logga in förrän en administratör aktiverar det igen.

Detta fält kommer att vara tomt om det inte är inställt, och om det är inställt kommer datumet att visas i epoktid.

9. Oanvänd

Detta fält har för närvarande inget syfte och är reserverat för potentiell framtida användning.

Skuggfilen förklaras

Skuggfilen är verkligen inte mystisk alls. Kom dock ihåg att om du vill ändra lösenord och lösenordsregler bör du undvika att redigera skuggfilen direkt och istället välja att använda verktyg som är avsedda för detta ändamål.

När du lägger till en ny användare i ditt Linux -system, kommer /etc/shadow filen ändras automatiskt för att lagra autentiseringsinformation om användaren.

Dela med sig Dela med sig Tweet E-post Hur man lägger till en användare i Linux

Behöver du ge en familjemedlem eller vän tillgång till din Linux -dator? Så här lägger du till en användare i Linux och ger dem sitt eget konto.

Läs Nästa
Relaterade ämnen
  • Linux
  • Systemadministration
Om författaren Jordan Gloor(51 artiklar publicerade)

Jordan är personalförfattare på MUO som brinner för att göra Linux tillgängligt och stressfritt för alla. Han skriver också guider om integritet och produktivitet.

Mer från Jordan Gloor

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera