| Het traditionele Unix-wachtwoordbestand, `/etc/passwd`, bevat gebruikersaccountinformatie. Hoewel het exacte formaat enigszins kan variëren tussen Unix-achtige systemen, zijn de standaardvelden:
1. Gebruikersnaam (inlognaam): De unieke identificatie die gebruikers gebruiken om in te loggen.
2. Wachtwoord (x): Historisch gezien werd in dit veld het gecodeerde wachtwoord opgeslagen. Om veiligheidsredenen slaan moderne systemen hier echter doorgaans een "x" (of soms een asterisk of een andere tijdelijke aanduiding) op, wat aangeeft dat de daadwerkelijke wachtwoord-hash is opgeslagen in het `/etc/shadow`-bestand.
3. Gebruikers-ID (UID): Een unieke numerieke identificatie voor de gebruiker. Dit wordt intern door het besturingssysteem gebruikt om het eigendom van bestanden, machtigingen en andere gebruikersspecifieke bewerkingen bij te houden. UID 0 is gereserveerd voor de rootgebruiker.
4. Groeps-ID (GID): De numerieke identificatie van de primaire groep van de gebruiker. Het groepslidmaatschap bepaalt welke machtigingen de gebruiker heeft voor bestanden en mappen die eigendom zijn van die groep.
5. Gebruikersinformatie (GECOS-veld): Een door komma's gescheiden veld dat traditioneel beschrijvende informatie over de gebruiker bevat, zoals de volledige naam, kantoorlocatie en telefoonnummer. Het wordt minder vaak gebruikt voor het oorspronkelijke doel en de componenten kunnen leeg zijn. Tools zoals `chfn` worden gebruikt om dit veld te wijzigen.
6. Thuismap: Het absolute pad naar de thuismap van de gebruiker. Dit is waar de gebruiker wordt geplaatst wanneer deze zich aanmeldt, en dit is doorgaans de plaats waar zijn persoonlijke bestanden en instellingen worden opgeslagen.
7. Inlogshell: Het absolute pad naar de voorkeursopdrachtregelinterpreter van de gebruiker (shell). Dit is het programma dat wordt uitgevoerd wanneer de gebruiker inlogt. Veelgebruikte shells zijn `/bin/bash`, `/bin/sh`, `/bin/zsh` en `/bin/csh`. Als dit veld leeg is, kan het systeem een standaardshell gebruiken (vaak `/bin/sh`). Een waarde van `/sbin/nologin` voorkomt dat de gebruiker rechtstreeks inlogt.
Voorbeeld:
```
john:x:1001:1001:John Doe,,,:/home/john:/bin/bash
```
* `john`:Gebruikersnaam
* `x`:Wachtwoord (verwijzing naar /etc/shadow)
* `1001`:Gebruikers-ID
* `1001`:Groeps-ID
* `John Doe,,,`:GECOS-veld (volledige naam, en 2 lege velden, en nog een leeg veld)
* `/home/john`:thuismap
* `/bin/bash`:Login-shell
Belangrijke overwegingen:
* De velden worden gescheiden door dubbele punten (`:`).
* Vanwege de aanwezigheid van gevoelige informatie zoals gecodeerde wachtwoorden, is de toegang tot `/etc/passwd` doorgaans beperkt tot de rootgebruiker of leden van een specifieke beheerdersgroep. Hoewel ze over het algemeen voor iedereen leesbaar zijn, vereisen best practices op het gebied van beveiliging een zorgvuldige afweging van machtigingen.
* Moderne systemen gebruiken over het algemeen `/etc/shadow` om wachtwoord-hashes op te slaan, wat een extra beveiligingslaag biedt omdat `/etc/shadow` veel restrictievere rechten heeft dan `/etc/passwd`.
* Network Information Service (NIS), Lightweight Directory Access Protocol (LDAP) en andere directoryservices kunnen ook worden gebruikt voor gebruikersauthenticatie en autorisatie, waarbij mogelijk het lokale `/etc/passwd`-bestand wordt overschreven.
* Het GECOS-veld wordt vaak misbruikt of genegeerd. Uit veiligheidsoverwegingen wordt geadviseerd de opslag van potentieel gevoelige gegevens op dit gebied te vermijden. |