Den traditionella UNIX -lösenordsfilen, `/etc/passwd`, innehåller information om användarkonto. Medan det exakta formatet kan variera något mellan UNIX-liknande system, är standardfälten:
1. användarnamn (inloggningsnamn): De unika identifierare som användare använder för att logga in.
2. Lösenord (x): Historiskt lagrade detta fält det krypterade lösenordet. Av säkerhetsskäl lagrar emellertid moderna system vanligtvis en "X" (eller ibland en asterisk eller annan platshållare) här, vilket indikerar att det faktiska lösenordshashen lagras i filen "/etc/skugg".
3. Användar -ID (UID): En unik numerisk identifierare för användaren. Detta används internt av operativsystemet för att spåra filägande, behörigheter och andra användarspecifika operationer. UID 0 är reserverad för rotanvändaren.
4. Grupp -ID (GID): Den numeriska identifieraren för användarens primära grupp. Gruppmedlemskap definierar vilka behörigheter som användaren har om filer och kataloger som ägs av den gruppen.
5. Användarinformation (GECOS -fält): Ett kommaseparerat område som traditionellt innehåller beskrivande information om användaren, till exempel deras fulla namn, kontorsplats och telefonnummer. Det har blivit mindre vanligt förekommande för sitt ursprungliga syfte och komponenterna kan vara tomma. Verktyg som "CHFN" används för att ändra detta fält.
6. Hemkatalog: Den absoluta vägen till användarens hemkatalog. Det är här användaren placeras när de loggar in, och det är vanligtvis där deras personliga filer och inställningar lagras.
7. inloggningsskal: Den absoluta vägen till användarens föredragna kommandoradstolk (Shell). Detta är programmet som körs när användaren loggar in. Vanliga skal inkluderar `/bin/bash`,`/bin/sh`, `/bin/zsh` och`/bin/csh`. Om detta fält är tomt kan systemet använda ett standardskal (ofta `/bin/sh`). Ett värde på `/sbin/nologin 'förhindrar att användaren loggar in direkt.
Exempel:
`` `
John:X:1001:1001:John Doe ,,,:/hem/John:/bin/bash
`` `
* `John`:Användarnamn
* `x`:lösenord (pekare till /etc /skugga)
* `1001`:Användar -ID
* `1001`:Grupp -ID
* `John Doe ,,,`:gecos fält (fullt namn och 2 tomma fält, och ett annat tomt fält)
* `/Hem/John`:Hemkatalog
* `/bin/bash`:inloggningskal
Viktiga överväganden:
* Fälten är separerade av kolon (`:`).
* På grund av närvaron av känslig information som krypterade lösenord är tillgången till `/etc/passwd` vanligtvis begränsad till rotanvändaren eller medlemmarna i en specifik administrativ grupp. Även om det i allmänhet är världsläsbara, dikterar säkerhetsbestämnden noggrant övervägande av behörigheter.
* Moderna system använder i allmänhet `/etc/skugga 'för att lagra lösenordshash, vilket ger ett extra lager av säkerhet eftersom`/etc/skuggan' har mycket mer restriktiva behörigheter än `/etc/passwd '.
* Network Information Service (NIS), Lightweight Directory Access Protocol (LDAP) och andra katalogtjänster kan också användas för användarverifiering och auktorisation, vilket potentiellt kan åsidosätta den lokala filen "/etc/passwd".
* GECOS -fältet missbrukas eller ignoreras ofta. Säkerhetsöverväganden ger råd om att undvika lagring av potentiellt känsliga data inom detta område.