Datoteke / etc / passwd čuvaju sve važne podatke potrebne za prijavu korisnika. Da bi to objasnio jednostavnijim riječima, datoteka / etc / passwd pohranjuje detalje korisničkog računa. Ova je datoteka obična tekstualna datoteka koja sadrži cjelovit popis svih korisnika na vašem Linux sustavu. Sadrži informacije o korisničkom imenu, lozinci, UID-u (ID korisnika), GID-u (ID grupe), ljusci i početnom direktoriju. Ova bi datoteka trebala imati dopuštenja za čitanje jer se mnogi uslužni programi naredbenog retka koriste za mapiranje korisničkih ID-ova u korisničko ime. Ali, trebali bi imati ograničena dopuštenja za pristup pisanju samo za superkorisničke ili korijenske korisničke račune.
Ovaj će članak pokazati kako i gdje možete pohraniti lozinke korisničkog računa sustava na Linux distribuciji. Proveli smo sve demonstracije na Ubuntu 20.04 sustav. Međutim, datoteku / etc / passwd možete pronaći na bilo kojoj Linux distribuciji.
Preduvjeti
Trebali biste imati root privilegije za pokretanje administrativnih naredbi.
Osnovno razumijevanje datoteke / etc / passwd
Datoteka / etc / passwd sadrži informacije o korisničkom računu vašeg sustava. Sva pohranjena polja odvojena su od znaka dvotočke ":".
Kada pokrenete sljedeću naredbu, vidjet ćete svaki unos datoteke / etc / passwd datoteke:
Gornja naredba popisat će sve korisnike vašeg Linux sustava.
Na zaslonu terminala prikazat će se sljedeća vrsta formata:
Pojedinosti o poljima / etc / passwd Format
Iz gornje slike:
Korisničko ime: Polje jedno predstavlja ime korisnika. Duljina polja s korisničkim imenom definirana je između 1-32 znaka. To se koristi kada se korisnik prijavi u sustav. U gornjem primjeru, 'khuzdar' je korisničko ime.
Zaporka: U gornjem primjeru znak "x" pokazuje da je lozinka pohranjena u šifriranom obliku u datoteku / etc / shadow.
User ID (UID): Korisnički ID mora biti dodijeljen svakom korisniku. Nula UID-a dodjeljuje se korijenskom korisniku, a User ID-ovi od 1-99 dodjeljuju se unaprijed definiranim ili standardnim računima. Daljnji UID-ovi od 100-999 dodijeljeni su administrativnim računima ili skupinama sustava. Na gornjoj snimci zaslona korisnički ID je 1001.
ID grupe (GID): Sljedeće polje predstavlja ID grupe. GID se sprema u datoteku / etc / group. Na temelju gornjeg primjera, korisnik pripada grupi id 1001.
Podaci o User ID-u: Sljedeće je polje namijenjeno komentarima. U ovo polje možete dodati neke dodatne informacije o navedenom korisniku, kao što je puno ime i prezime, telefonski broj itd. Međutim, u gornjem primjeru korisnik ne navodi telefonski broj.
Početna mapa: Ovo polje prikazuje mjesto kućnog direktorija koji je dodijeljen trenutnom korisniku. Ako navedeni direktorij ne postoji, tada će se prikazati “/”. Gornja slika prikazuje mjesto istaknutog korisnika u početnom direktoriju, a to je home / kbuzdar.
Naredba // ljuska: Zadani apsolutni put ljuske ili naredbe je / bin / bash. Ovo je poznato kao ljuska. Na primjer, sysadmin koji koristi nologinsku ljusku. Ponaša se kao zamjenska ljuska za korisničke račune sustava. Ako se ljuska nalazi na putu do / sbin / nologin i korisnik se želi prijaviti izravno na Linux sustav, ljuska / sbin / nologin zatvorit će ili onemogućiti vezu.
Pretražite korisnika u datoteci / etc / passwd
Pomoću naredbe grep možete potražiti određenog korisnika s datotekom / etc / passwd. Na primjer, želimo pretražiti korisničko ime 'kbuzdar' iz datoteke / etc / passwd, koristeći sljedeću sintaksu, a zatim možemo lako pretraživati određenog korisnika, štedeći svoje vrijeme:
$ grep korisničko ime / etc / passwdGornja sintaksa promijenit će se u sljedeći oblik:
$ grep kbuzdar / etc / passwd
Ili
Prikaz dozvola u datoteci / etc / passwd
Kao što smo gore spomenuli, svi ostali korisnici, osim root-a, trebali bi moći čitati dopuštenje u datoteci / etc / passwd i da vlasnik mora biti superkorisnik ili root.
Upišite sljedeće da biste provjerili dopuštenja za čitanje u datoteci:
Sljedeći uzorak izlaza prikazat će se na terminalu:
Čitanje / etc / passwd datoteke
Možete pročitati / etc / passwd datoteku na vašem Linux sustavu pomoću sljedeće bash skripte ili izravno pokrenuti ono što je napisano u nastavku dok naredbe petlje na terminalu.
Stvorite tekstualnu datoteku i zalijepite u nju sljedeći kod:
# ukupno sedam polja iz / etc / passwd pohranjenih kao $ f1, f2…, $ f7
dok je IFS =: očitavanje -r f1 f2 f3 f4 f5 f6 f7
čini
echo "Korisnik $ f1 koristi $ f7 ljusku i pohranjuje datoteke u direktorij $ f6."
gotovo < /etc/passwd
Pomoću while petlje očitat će svih sedam polja, a zatim iterativno prikazati sadržaj datoteke na terminalu.
Spremite gornju datoteku s imenom 'readfile.sh '.
Sada pokrenite gornju datoteku pomoću sljedeće naredbe:
$ bash datoteka za čitanje.sh
Istražite datoteku / etc / shadow
Datoteka / etc / shadow sadrži sve vaše šifrirane lozinke pohranjene u ovoj datoteci koje su čitljive samo za root korisnike.
Pokrenimo sljedeću naredbu za prikaz sadržaja:
Sve lozinke možete vidjeti u šifriranom obliku:
Zaključak
Iz gornjeg članka vidjeli smo sve detalje korisničkog računa i lozinke pohranjene u datoteci / etc / passwd u Linux sustavu. Možete pročitati ovu datoteku, ali samo root korisnici imaju "dozvole za pisanje". Štoviše, vidjeli smo i sve šifrirane lozinke pohranjene u datoteci / etc / shadow. Također možete istražiti datoteku / etc / group kako biste dobili detalje o korisničkoj grupi.