Failuose /etc /passwd saugoma visa svarbi informacija, reikalinga vartotojo prisijungimui. Norėdami tai paaiškinti paprastesniais žodžiais, faile /etc /passwd saugoma vartotojo paskyros 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 daugelis komandinės eilutės paslaugų yra naudojamos vartotojo ID susiejimui su vartotojo vardu. Tačiau turėtų būti ribotos rašymo teisės tik super vartotojo ar šakninio vartotojo paskyroms.
Šis straipsnis parodys, kaip ir kur galite saugoti sistemos vartotojo abonemento slaptažodžius platinant „Linux“. Visas demonstracijas įgyvendinome „Ubuntu 20.04“ sistemoje. Tačiau failą /etc /passwd galite rasti bet kuriame „Linux“ platinime.
Būtinos sąlygos
Turėtumėte turėti root teises, kad paleistumėte administracines komandas.
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: ženklas.
Vykdydami šią komandą pamatysite kiekvieną /etc /passwd failo įrašą:
$katė /ir kt/passwd
Aukščiau pateikta komanda išvardys visus jūsų „Linux“ sistemos vartotojus.
Terminalo ekrane bus rodomas tokio tipo formatas:
Išsami informacija apie /etc /passwd laukus Formatas
Iš aukščiau esančio paveikslėlio:
Vartotojo vardas: Pirmasis laukas nurodo vartotojo vardą. Vartotojo vardo lauko ilgis yra 1–32 simboliai. Tai naudojama, kai vartotojas prisijungia prie sistemos. Pirmiau pateiktame pavyzdyje „khuzdar“ yra vartotojo vardas.
Slaptažodis: Anksčiau pateiktame pavyzdyje x simbolis rodo, kad slaptažodis saugomas užšifruota faile /etc /shadow.
Vartotojo ID (UID): Vartotojo ID turi būti priskirtas kiekvienam vartotojui atskirai. Nulinis UID priskiriamas pagrindiniam vartotojui, o vartotojo ID nuo 1 iki 99 priskiriamas iš anksto nustatytoms arba standartinėms paskyroms. Kiti 100–999 UID priskiriami sistemos administracinėms paskyroms ar grupėms. Aukščiau esančioje ekrano kopijoje vartotojo ID yra 1001.
Grupės ID (GID): Kitas laukas nurodo grupės ID. GID saugomas faile /etc /group. Remiantis aukščiau pateiktu pavyzdžiu, vartotojas priklauso grupės ID 1001.
Informacija apie „User ID“: Šis laukas skirtas komentarams. Šiame lauke galite pridėti papildomos informacijos apie nurodytą vartotoją, pvz., Vartotojo vardą, pavardę, telefono numerį ir pan. Tačiau aukščiau pateiktame pavyzdyje vartotojas nepateikia jokio telefono numerio.
Pagrindinis katalogas: Šiame lauke rodoma dabartiniam vartotojui priskirto namų katalogo vieta. Jei nurodyto katalogo nėra, jis rodys /. 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 žinoma kaip apvalkalas. Pavyzdžiui, „sysadmin“ naudojant „nologin“ apvalkalą. Jis veikia kaip pakaitinis sistemos vartotojų abonementų apvalkalas. Jei apvalkalas yra kelyje į /sbin /nologin ir vartotojas nori tiesiogiai prisijungti 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 galime lengvai ieškoti nurodyto vartotojo, taupydami laiką:
$sukibimasVartotojo vardas/ir kt/passwdAukščiau pateikta sintaksė pasikeis į tokią formą:
$sukibimasgirgždantis/ir kt/passwd
Arba
Rodyti failo /etc /passwd leidimus
Kaip minėjome aukščiau, visi kiti vartotojai, išskyrus root, turėtų turėti galimybę skaityti failo /etc /passwd leidimą ir kad savininkas turi būti superuser arba root.
Norėdami patikrinti failo skaitymo teises, įveskite toliau nurodytą informaciją.
Terminale bus rodomas toks išvesties pavyzdys:
Skaitomas /etc /passwd failas
Galite perskaityti failą /etc /passwd savo „Linux“ sistemoje naudodami šį „bash“ scenarijų arba tiesiogiai paleisti tai, kas parašyta žemiau, kol terminale yra kilpos komandos.
Sukurkite teksto failą ir įklijuokite į jį šį kodą:
# iš viso septyni laukai iš /etc /passwd saugomi kaip $ f1, f2 ..., $ f7
tuo tarpu IFS=:skaityti -rf1 f2 f3 f4 f5 f6 f7
daryti
išmetė 'Vartotojas$ f1naudotif7apvalkalą ir saugo failus$ f6katalogas “.
padaryta < /ir kt/passwd
Naudodama ciklą while, jis perskaitys visus septynis laukus ir pasikartojančiai parodys failo turinį terminale.
Išsaugokite aukščiau esantį failą pavadinimu „readfile.sh“.
Dabar paleiskite aukščiau pateiktą failą naudodami šią komandą:
$muštireadfile.sh
Naršykite /etc /shadow failą
Faile /etc /shadow yra visi jūsų užšifruoti slaptažodžiai, kurie saugomi šiame faile ir kuriuos gali skaityti tik root vartotojai.
Norėdami parodyti turinį, paleiskite šią komandą:
Visą slaptažodį galite pamatyti šifruotu formatu:
Išvada
Iš aukščiau pateikto straipsnio matėme visą vartotojo abonemento informaciją ir slaptažodžius, saugomus „Linux“ sistemos faile /etc /passwd. Galite perskaityti šį failą, tačiau tik root vartotojai turi rašymo teises. Be to, mes taip pat matėme visus užšifruotus slaptažodžius, saugomus faile /etc /shadow. Taip pat galite naršyti /etc /group failą, kad gautumėte išsamią informaciją apie vartotojo grupę.