Sikkerhet

Hvor og hvordan lagres passord på Linux?

Hvor og hvordan lagres passord på Linux?
Brukernavnet med et tilsvarende passord for en bestemt konto er det primære kravet som en bruker kan få tilgang til et Linux-system gjennom. Alle brukerens kontopassord lagres i en fil eller en database slik at en bruker kan verifiseres under påloggingsforsøket til systemet. Hver bruker har ikke nok ferdigheter og ekspertise til å finne denne filen på systemet sitt. Men hvis du får tilgang til databasen eller en fil som beholder alle innloggingsbrukerens passord, kan du enkelt få tilgang til Linux-systemet. Når en bruker skriver inn et brukernavn og passord på Linux for pålogging, sjekker den det oppgitte passordet mot en oppføring i forskjellige filer i '/ etc' katalogen.

/ Etc / passwd-filene beholder all viktig informasjon som er nødvendig for brukerinnlogging. For å forklare det med enklere ord, lagrer / etc / passwd-filen brukerens kontodetaljer. Denne filen er en ren tekstfil som inneholder en komplett liste over alle brukere på Linux-systemet ditt. Den har informasjon om brukernavn, passord, UID (bruker-id), GID (gruppe-id), skall og hjemmekatalog. Denne filen skal ha lesetillatelser ettersom mange kommandolinjeverktøy brukes til å kartlegge bruker-IDene til brukernavnet. Men burde ha begrenset skrivetillatelse bare for superbruker- eller rotbrukerkontoer.

Denne artikkelen vil demonstrere hvordan og hvor du kan lagre systembrukerens kontopassord på Linux-distribusjon. Vi har implementert alle demonstrasjonene på Ubuntu 20.04-systemet. Du kan imidlertid finne / etc / passwd-fil på hvilken som helst Linux-distribusjon.

Forutsetninger

Du bør ha rotprivilegier for å kjøre administrative kommandoer.

Grunnleggende forståelse om / etc / passwd File

/ Etc / passwd-filen inneholder informasjonen om brukerkontoen til systemet ditt. Alle lagrede felt er skilt fra kolon ":" -tegnet.
Når du kjører følgende kommando, vil du se hver filoppføring i / etc / passwd-fil:

$ katt / etc / passwd

Ovennevnte kommando vil liste alle brukere av Linux-systemet ditt.
Følgende formatformat vises på terminalskjermen:

Detaljer om / etc / passwd felt Format
Fra bildet ovenfor:

Brukernavn: Felt ett representerer brukerens navn. Lengden på brukernavnfeltet er definert mellom 1-32 tegn. Dette brukes når en bruker logger seg på systemet. I eksemplet ovenfor er 'khuzdar' brukernavnet.
Passord: I eksemplet ovenfor viser “x” -tegnet at passordet er lagret i kryptert form i / etc / skyggefilen.
Bruker-ID (UID): Bruker-ID må tildeles hver bruker hver for seg. UID-null er tildelt rotbrukeren, og bruker-ID fra 1-99 tilordnes til forhåndsdefinerte eller standardkontoer. De ytterligere UID-ene fra 100-999 tilordnes systemadministrative kontoer eller grupper. I skjermbildet ovenfor er bruker-ID 1001.
Gruppe-ID (GID): Det neste feltet representerer gruppe-ID. GID er lagret i / etc / group file. Basert på eksemplet ovenfor, tilhører brukeren gruppe-ID 1001.
Informasjon om bruker-ID: Følgende felt er ment for kommentarer. I dette feltet kan du legge til litt tilleggsinformasjon om den angitte brukeren, for eksempel brukerens fulle navn, telefonnummer osv. Imidlertid, i eksemplet ovenfor, oppgis ikke noe telefonnummer av brukeren.
Hjemmekatalog: Dette feltet viser plasseringen til hjemmekatalogen som er tilordnet den nåværende brukeren. Hvis den angitte katalogen ikke eksisterer, vil den vise “/”. Ovenstående bilde viser plasseringen til den uthevede brukeren i hjemmekatalogen, som er hjemme / kbuzdar.
Kommando // skall: Standard absolutt bane til et skall eller kommando er / bin / bash. Dette er kjent som skallet. For eksempel sysadmin ved bruk av nologin-skallet. Det oppfører seg som erstatningsskall for systembrukerkontoer. Hvis skallet er plassert i banen til / sbin / nologin og brukeren vil logge på direkte til Linux-systemet, vil / sbin / nologin-skallet lukke eller deaktivere tilkoblingen.

Søk etter bruker i / etc / passwd-fil

Du kan søke etter en bestemt bruker med / etc / passwd-fil ved hjelp av grep-kommandoen. For eksempel vil vi søke i brukernavnet 'kbuzdar' fra / etc / passwd-filen, ved hjelp av følgende syntaks, så kan vi enkelt søke i en spesifisert bruker, og sparer tid:

$ grep brukernavn / etc / passwd

Ovennevnte syntaks vil endre seg i følgende form:

$ grep kbuzdar / etc / passwd


Eller

$ grep -w '^ kbuzdar' / etc / passwd

Vis tillatelser for / etc / passwd-fil

Som vi nevnte ovenfor, skal alle andre brukere, unntatt root, kunne lese tillatelse på / etc / passwd-filen, og at eieren må være superbruker eller root.
Skriv inn følgende for å sjekke lesetillatelsene på filen:

$ ls -l / etc / passwd

Følgende utgangsprøve vises på terminalen:

Lese / etc / passwd fil

Du kan lese / etc / passwd-filen på Linux-systemet ditt ved å bruke følgende bash-skript eller kjøre direkte det som er skrevet nedenfor mens loop-kommandoer på terminalen.
Opprett en tekstfil og lim inn følgende kode i den:

#!/ bin / bash
# totalt syv felt fra / etc / passwd lagret som $ f1, f2…, $ f7
mens IFS =: les -r f1 f2 f3 f4 f5 f6 f7
gjøre
ekko "Bruker $ f1 bruker $ f7 shell og lagrer filer i $ f6 katalog."
ferdig < /etc/passwd

Ved å bruke mens sløyfen vil den lese alle de syv feltene og deretter iterativt vise filinnholdet på terminalen.
Lagre filen ovenfor med navnet 'readfile.sh '.

Kjør nå filen ovenfor ved å bruke følgende kommando:

$ bash readfile.sh

Utforsk / etc / skyggefil

/ Etc / skyggefilen inneholder alle dine krypterte passord som er lagret i denne filen, og som bare er lesbare for rotbrukere.
La oss kjøre følgende kommando for å vise innholdet:

$ sudo cat / etc / shadow

Du kan se alt passordet i kryptert format:

Konklusjon

Vi har sett fra den ovennevnte artikkelen, alle brukerens kontodetaljer og passord lagret på / etc / passwd-fil i Linux-systemet. Du kan lese denne filen, men bare rotbrukere har "skrivetillatelser". Videre har vi også sett alle de krypterte passordene som er lagret på / etc / shadow-filen. Du kan også utforske / etc / gruppefilen for å få detaljer om brukerens gruppe.

Kjemp om Wesnoth-opplæringen
Kampen om Wesnoth er et av de mest populære open source-strategispillene du kan spille på dette tidspunktet. Ikke bare har dette spillet vært i utvikl...
0 A.D. Opplæringen
Ut av de mange strategispillene der ute, 0 A.D. klarer å skille seg ut som en omfattende tittel og et veldig dypt, taktisk spill til tross for å være ...
Unity3D opplæring
Introduksjon til Unity 3D Unity 3D er en kraftig spillutviklingsmotor. Det er kryssplattform, det er det lar deg lage spill for mobil, web, stasjonær ...