Failai / etc / passwd saugo visą svarbią informaciją, reikalingą prisijungiant. Norėdami paaiškinti paprastesniais žodžiais, faile / etc / passwd saugoma vartotojo abonemento informacija. Šis failas yra paprasto teksto failas, kuriame yra visas visų jūsų „Linux“ sistemos vartotojų sąrašas. Jame yra informacija apie vartotojo vardą, slaptažodį, UID (vartotojo ID), GID (grupės ID), apvalkalą ir namų katalogą. Šis failas turėtų turėti skaitymo teises, nes daugybė komandinės eilutės įrankių naudojami susiejant vartotojo ID su vartotojo vardu. Bet turėtų turėti ribotas rašymo prieigos teises tik supernaudotojo arba pagrindinio vartotojo abonementams.
Šis straipsnis parodys, kaip ir kur galite laikyti sistemos vartotojo abonemento slaptažodžius „Linux“ paskirstyme. Mes įdiegėme visas „Ubuntu 20“ demonstracijas.04 sistema. Tačiau failą / etc / passwd galite rasti bet kuriame „Linux“ paskirstyme.
Išankstiniai reikalavimai
Norėdami paleisti administravimo komandas, turite turėti root teises.
Pagrindinis supratimas apie / etc / passwd failą
Faile / etc / passwd yra informacija apie jūsų sistemos vartotojo abonementą. Visi saugomi laukai yra atskirti nuo dvitaškio ženklo „:“.
Vykdydami šią komandą pamatysite kiekvieną failo / etc / passwd failo įrašą:
Pirmiau pateiktoje komandoje bus išvardyti visi jūsų „Linux“ sistemos vartotojai.
Jūsų terminalo ekrane bus rodomas tokio tipo formatas:
Išsami informacija apie / etc / passwd laukus Formatas
Iš aukščiau esančio vaizdo:
Vartotojo vardas: Pirmasis laukas nurodo vartotojo vardą. Vartotojo vardo lauko ilgis apibrėžiamas tarp 1–32 simbolių. Tai naudojama, kai vartotojas prisijungia prie sistemos. Ankstesniame pavyzdyje 'khuzdar' yra vartotojo vardas.
Slaptažodis: Ankstesniame pavyzdyje simbolis „x“ rodo, kad slaptažodis yra užšifruota forma / etc / shadow faile.
„User ID“ (UID): Vartotojo ID turi būti priskirtas atskirai kiekvienam vartotojui. UID nulis priskiriamas pagrindiniam vartotojui, o „User ID“ nuo 1 iki 99 - iš anksto nustatytoms arba standartinėms paskyroms. Kiti 100–999 UID priskiriami sistemos administravimo abonementams ar grupėms. Anksčiau pateiktoje ekrano kopijoje vartotojo ID yra 1001.
Grupės ID (GID): Kitas laukas nurodo grupės ID. GID saugomas / etc / group faile. Remiantis aukščiau pateiktu pavyzdžiu, vartotojas priklauso grupei ID 1001.
Informacija apie „User ID“: Šis laukas skirtas komentarams. Šiame lauke galite pridėti papildomos informacijos apie nurodytą vartotoją, pvz., Vartotojo vardą, telefono numerį ir kt. Tačiau aukščiau pateiktame pavyzdyje vartotojas nenurodo telefono numerio.
Pagrindinis katalogas: Šiame lauke rodoma dabartinio vartotojo paskirto namų katalogo vieta. Jei nurodyto katalogo nėra, jame bus rodoma „/“. Aukščiau pateiktame paveikslėlyje parodyta paryškinto vartotojo vieta namų kataloge, kuris yra home / kbuzdar.
Komanda // apvalkalas: Numatytasis absoliutus apvalkalo ar komandos kelias yra / bin / bash. Tai vadinama apvalkalu. Pavyzdžiui, sysadmin naudojant nologino apvalkalą. Jis elgiasi kaip sistemos vartotojo abonementų pakaitalas. Jei apvalkalas yra kelyje į / sbin / nologin ir vartotojas nori prisijungti tiesiai prie „Linux“ sistemos, / sbin / nologin apvalkalas uždarys arba išjungs ryšį.
Ieškokite vartotojo / etc / passwd faile
Galite ieškoti konkretaus vartotojo naudodami / etc / passwd failą naudodami komandą grep. Pavyzdžiui, norime ieškoti vartotojo vardo „kbuzdar“ iš failo / etc / passwd, naudodami šią sintaksę, tada mes galime lengvai ieškoti nurodyto vartotojo, taupydami savo laiką:
$ grep vartotojo vardas / etc / passwdPirmiau nurodyta sintaksė pasikeis į šią formą:
$ grep kbuzdar / etc / passwd
Arba
Rodyti / etc / passwd failo teises
Kaip minėjome aukščiau, visi kiti vartotojai, išskyrus root, turėtų galėti skaityti leidimą faile / etc / passwd ir kad savininkas turi būti supernaudotojas arba root.
Norėdami patikrinti failo skaitymo teises, įveskite:
Terminale bus rodomas toks išvesties pavyzdys:
Skaitymas / etc / passwd failas
Galite perskaityti / etc / passwd failą savo „Linux“ sistemoje naudodami šį „bash“ scenarijų arba tiesiogiai paleiskite tai, kas parašyta žemiau, o ciklo komandos terminale.
Sukurkite teksto failą ir įklijuokite į jį šį kodą:
# iš viso septyni laukai iš / etc / passwd saugomi kaip $ f1, f2…, $ f7
o IFS =: skaitykite -r f1 f2 f3 f4 f5 f6 f7
padaryti
echo "Vartotojas $ f1 naudoja $ f7 apvalkalą ir saugo failus kataloge $ f6."
padaryta < /etc/passwd
Naudodamas „while“ kilpą, jis perskaitys visus septynis laukus ir tada iteratyviai parodys failo turinį terminale.
Išsaugokite aukščiau esantį failą pavadinimu „readfile“.sh '.
Dabar paleiskite aukščiau esantį failą naudodami šią komandą:
$ bash skaitymo failas.sh
Naršykite / etc / shadow failą
/ Etc / shadow faile yra visi šifruoti slaptažodžiai, saugomi šiame faile, kuriuos gali skaityti tik root vartotojai.
Paleiskite šią komandą, kad būtų rodomas turinys:
Visą slaptažodį galite pamatyti užšifruotu formatu:
Išvada
Iš aukščiau pateikto straipsnio matėme visą vartotojo abonemento informaciją ir slaptažodžius, išsaugotus / etc / passwd faile „Linux“ sistemoje. Galite perskaityti šį failą, bet „root“ teises turi tik root vartotojai. Be to, mes taip pat matėme visus užšifruotus slaptažodžius, saugomus faile / etc / shadow. Taip pat galite ištirti / etc / group failą, kad gautumėte išsamią informaciją apie vartotojo grupę.