Själva rotlösenordet är
inte lagrat direkt i en vanlig textfil . Istället en
hashed Version av lösenordet lagras. Detta är en envägsfunktion, vilket innebär att det är lätt att hash ett lösenord, men extremt svårt (idealiskt omöjligt) att vända hash för att få det ursprungliga lösenordet.
Här lagras Hashed Root -lösenordet vanligtvis i olika Linux -distributioner:
* `/etc/Shadow` :Den här filen är den primära platsen för att lagra lösenord för användarkontot, inklusive rotanvändarens lösenord. Avgörande, Endast rotanvändaren har läst åtkomst till den här filen . Detta är en kritisk säkerhetsfunktion.
* Filen '/etc/skugg' innehåller poster i följande format:
`` `
Användarnamn:Password_hash:Last_Changed:min_Days:Max_Days:Warn_Days:inactive_Days:Expire_Date:Flags
`` `
* `Användarnamn ':Användarnamnet (t.ex.` root').
* `Password_hash`:Hashed -lösenordet. Detta är en lång rad tecken som representerar resultatet av en kryptografisk hashfunktion som appliceras på lösenordet tillsammans med ett salt.
* `Last_changed`:Antalet dagar sedan epoken (1 januari 1970) när lösenordet senast ändrades.
* `min_days`:Det minsta antalet dagar som måste passera innan lösenordet kan ändras igen.
* `MAX_DAYS`:Det maximala antalet dagar som lösenordet är giltigt innan det måste ändras.
* `WARN_DAYS`:Antalet dagar innan lösenordet löper ut att användaren kommer att varnas.
* `INACTIVE_DAYS`:Antalet dagar efter att lösenordet löper ut att kontot kommer att inaktiveras.
* `Expire_date`:Det datum då kontot löper ut.
* `Flaggs`:reserverade för framtida användning.
* `/etc/passwd` :Den här filen innehåller grundläggande användarkontoinformation, men den lagrar inte längre lösenordshashen direkt i moderna system. Det brukade, men detta var en enorm säkerhetsrisk eftersom `/etc/passwd` ofta är världsläsbar. Nu ser du vanligtvis ett "x" i fältet Lösenord, vilket indikerar att lösenordet lagras i `/etc/skuggan".
* Exempel:`rot:x:0:0:root:/root:/bin/bash`
Nyckelkoncept:
* hashing: En envägs kryptografisk funktion som omvandlar data till en fast storlek sträng av tecken (hash). Det är utformat för att vara extremt svårt att vända.
* Salt: En slumpmässig sträng läggs till i lösenordet före hashing. Detta gör det mycket svårare för angripare att använda förputerade "Rainbow Tables" för att knäcka lösenord, även om de får filen "/etc/skugg". Varje lösenord har ett unikt salt.
* `/etc/Shadow` Behörigheter: Det är avgörande att `/etc/skuggan är läsbar * endast * av rotanvändaren. Alla andra användare som kan läsa den här filen skulle representera en betydande säkerhetssårbarhet, eftersom de kunde försöka knäcka lösenordshashen.
* Lösenordskomplexitet: Styrkan hos ett lösenordshash beror också på komplexiteten i själva lösenordet. Längre lösenord med en blandning av versaler, små bokstäver, siffror och symboler är mycket svårare att knäcka.
Sammanfattningsvis: Rotlösenordet i sig är inte lagrat någonstans direkt. Istället lagras en saltad och hashad representation av den säkert i filen "/etc/skugg", endast tillgänglig för rotanvändaren. Detta är en kritisk säkerhetsmekanism för att skydda systemet.