Het rootwachtwoord zelf wordt niet rechtstreeks in een tekstbestand opgeslagen . In plaats daarvan wordt een gehasht weergegeven versie van het wachtwoord wordt opgeslagen. Dit is een eenrichtingsfunctie, wat betekent dat het gemakkelijk is om een wachtwoord te hashen, maar uiterst moeilijk (idealiter onmogelijk) om de hash om te keren om het originele wachtwoord te verkrijgen.
Hier wordt het gehashte rootwachtwoord doorgaans opgeslagen in verschillende Linux-distributies:
* `/etc/schaduw` :dit bestand is de primaire locatie voor het opslaan van wachtwoord-hashes van gebruikersaccounts, inclusief het wachtwoord van de rootgebruiker. Cruciaal is dat alleen de rootgebruiker leestoegang heeft tot dit bestand . Dit is een cruciale beveiligingsfunctie.
* Het `/etc/shadow`-bestand bevat vermeldingen in het volgende formaat:
```
gebruikersnaam:wachtwoord_hash:last_changed:min_days:max_days:warn_days:inactive_days:expire_date:flags
```
* `gebruikersnaam`:de gebruikersnaam (bijvoorbeeld `root`).
* `password_hash`:Het gehashte wachtwoord. Dit is een lange reeks tekens die het resultaat vertegenwoordigen van een cryptografische hashfunctie die samen met een salt op het wachtwoord wordt toegepast.
* `last_changed`:het aantal dagen sinds het tijdperk (1 januari 1970) waarop het wachtwoord voor het laatst werd gewijzigd.
* `min_days`:Het minimum aantal dagen dat moet verstrijken voordat het wachtwoord opnieuw kan worden gewijzigd.
* `max_days`:Het maximale aantal dagen dat het wachtwoord geldig is voordat het moet worden gewijzigd.
* `warn_days`:Het aantal dagen voordat het wachtwoord verloopt dat de gebruiker wordt gewaarschuwd.
* `inactive_days`:Het aantal dagen nadat het wachtwoord verloopt dat het account wordt uitgeschakeld.
* `expire_date`:De datum waarop het account verloopt.
* `vlaggen`:gereserveerd voor toekomstig gebruik.
* `/etc/passwd` :dit bestand bevat algemene gebruikersaccountgegevens, maar slaat de wachtwoordhash niet langer rechtstreeks op in moderne systemen. Vroeger was dat wel zo, maar dit was een enorm veiligheidsrisico omdat `/etc/passwd` vaak voor iedereen leesbaar is. Nu zul je normaal gesproken een "x" zien in het wachtwoordveld, wat aangeeft dat het wachtwoord is opgeslagen in `/etc/shadow`.
* Voorbeeld:`root:x:0:0:root:/root:/bin/bash`
Belangrijkste concepten:
* Hashing: Een eenrichtingscryptografische functie die gegevens omzet in een tekenreeks met een vaste grootte (de hash). Het is zo ontworpen dat het extreem moeilijk te keren is.
* Zout: Een willekeurige tekenreeks die vóór het hashen aan het wachtwoord wordt toegevoegd. Dit maakt het veel moeilijker voor aanvallers om vooraf berekende "regenboogtabellen" te gebruiken om wachtwoorden te kraken, zelfs als ze het bestand `/etc/shadow` verkrijgen. Elk wachtwoord heeft een uniek zout.
* `/etc/shadow` rechten: Het is van cruciaal belang dat `/etc/shadow` *alleen* leesbaar is voor de rootgebruiker. Elke andere gebruiker die dit bestand zou kunnen lezen, zou een aanzienlijk beveiligingsprobleem vormen, omdat hij of zij zou kunnen proberen de wachtwoord-hashes te kraken.
* Wachtwoordcomplexiteit: De sterkte van een wachtwoord-hash hangt ook af van de complexiteit van het wachtwoord zelf. Langere wachtwoorden met een combinatie van hoofdletters, kleine letters, cijfers en symbolen zijn veel moeilijker te kraken.
Samengevat: Het rootwachtwoord zelf wordt nergens rechtstreeks opgeslagen. In plaats daarvan wordt een gezouten en gehashte representatie ervan veilig opgeslagen in het bestand `/etc/shadow`, dat alleen toegankelijk is voor de rootgebruiker. Dit is een cruciaal beveiligingsmechanisme om het systeem te beschermen. |