/ Etc / passwd-tiedostot säilyttävät kaikki tärkeät tiedot, joita tarvitaan käyttäjän kirjautumiseen. Selittääkseen sen yksinkertaisemmilla sanoilla, tiedosto / etc / passwd tallentaa käyttäjän tilitiedot. Tämä tiedosto on pelkkää tekstiä sisältävä tiedosto, joka sisältää täydellisen luettelon kaikista Linux-järjestelmän käyttäjistä. Siinä on tietoja käyttäjänimestä, salasanasta, UID (käyttäjätunnus), GID (ryhmän tunnus), kuoresta ja kotihakemistosta. Tällä tiedostolla on oltava lukuoikeudet, koska monta komentorivin apuohjelmaa käytetään tunnistamaan käyttäjätunnukset käyttäjänimiin. Mutta sillä pitäisi olla rajoitetut kirjoitusoikeudet vain pääkäyttäjä- tai pääkäyttäjätileille.
Tässä artikkelissa kerrotaan, miten ja mihin voit tallentaa järjestelmän käyttäjän tilin salasanat Linux-jakelulle. Olemme toteuttaneet kaikki mielenosoitukset Ubuntu 20: ssä.04-järjestelmä. Voit kuitenkin löytää / etc / passwd-tiedoston mistä tahansa Linux-jakelusta.
Edellytykset
Sinulla on oltava pääkäyttäjän oikeudet järjestelmänvalvojan komentojen suorittamiseen.
Perustiedot tiedostosta / etc / passwd
/ Etc / passwd-tiedosto sisältää tietoja järjestelmän käyttäjätilistä. Kaikki tallennetut kentät erotetaan kaksoispiste ”:” -merkistä.
Kun suoritat seuraavan komennon, näet / etc / passwd-tiedoston jokaisen tiedostomerkinnän:
Yllä oleva komento luetteloi kaikki Linux-järjestelmän käyttäjät.
Seuraavan tyyppinen muoto näkyy päätelaitteen näytössä:
Tiedot / etc / passwd-kentistä Muoto
Yllä olevasta kuvasta:
Käyttäjätunnus: Kenttä yksi edustaa käyttäjän nimeä. Käyttäjätunnuskentän pituus on määritelty 1-32 merkille. Tätä käytetään, kun käyttäjä kirjautuu järjestelmään. Yllä olevassa esimerkissä 'khuzdar' on käyttäjänimi.
Salasana: Yllä olevassa esimerkissä "x" -merkki osoittaa, että salasana on tallennettu salatussa muodossa / etc / shadow-tiedostoon.
Käyttäjätunnus (UID): Käyttäjätunnus on määritettävä erikseen kullekin käyttäjälle. UID-nolla määritetään pääkäyttäjälle ja käyttäjätunnukset 1-99 määritetään ennalta määritetyille tai vakiotileille. Muut UID-tunnukset vuosilta 100-999 määritetään järjestelmänvalvojan tileille tai ryhmille. Yllä olevassa kuvakaappauksessa käyttäjätunnus on 1001.
Ryhmätunnus (GID): Seuraava kenttä edustaa ryhmän tunnusta. GID on tallennettu tiedostoon / etc / group. Yllä olevan esimerkin perusteella käyttäjä kuuluu ryhmätunnukseen 1001.
Tietoja käyttäjätunnuksesta: Seuraava kenttä on tarkoitettu kommentteihin. Tähän kenttään voit lisätä joitain lisätietoja määritetystä käyttäjästä, kuten käyttäjän koko nimen, puhelinnumeron jne. Yllä olevassa esimerkissä käyttäjä ei kuitenkaan anna puhelinnumeroa.
Kotihakemisto: Tämä kenttä näyttää nykyiselle käyttäjälle määritetyn kotihakemiston sijainnin. Jos määritettyä hakemistoa ei ole, siinä näkyy ”/”. Yllä oleva kuva näyttää korostetun käyttäjän sijainnin kotihakemistossa, joka on koti / kbuzdar.
Komento // kuori: Kuoren tai komennon oletusarvoinen absoluuttinen polku on / bin / bash. Tätä kutsutaan kuoreksi. Esimerkiksi sysadmin käyttämällä nologiinikuorta. Se käyttäytyy järjestelmän käyttäjätilien korvaavana kuorena. Jos kuori sijaitsee polulla / sbin / nologin ja käyttäjä haluaa kirjautua suoraan Linux-järjestelmään, / sbin / nologin -kuori sulkee tai poistaa yhteyden.
Hae käyttäjää tiedostosta / etc / passwd
Voit etsiä tiettyä käyttäjää tiedostolla / etc / passwd käyttämällä grep-komentoa. Haluamme esimerkiksi etsiä käyttäjätunnusta 'kbuzdar' tiedostosta / etc / passwd seuraavan syntaksin avulla, jolloin voimme etsiä helposti määritetyltä käyttäjältä ja säästää aikaa:
$ grep käyttäjänimi / etc / passwdYllä oleva syntakse muuttuu seuraavaksi:
$ grep kbuzdar / etc / passwd
Tai
Näytä / etc / passwd-tiedoston käyttöoikeudet
Kuten edellä mainitsimme, kaikkien muiden käyttäjien, paitsi root, pitäisi pystyä lukemaan / etc / passwd -tiedoston käyttöoikeudet ja että omistajan on oltava pääkäyttäjä tai root.
Kirjoita seuraava tarkistaaksesi tiedoston lukuoikeudet:
Seuraava lähtönäyte näytetään päätelaitteessa:
Luetaan / etc / passwd-tiedosto
Voit lukea / etc / passwd -tiedoston Linux-järjestelmässäsi käyttämällä seuraavaa bash-komentosarjaa tai suorittaaksesi alla olevan kirjoituksen, kun taas loop-komentoja päätelaitteessa.
Luo tekstitiedosto ja liitä siihen seuraava koodi:
# yhteensä seitsemän kenttää tiedostosta / etc / passwd tallennettu nimellä $ f1, f2…, $ f7
kun IFS =: lue -r f1 f2 f3 f4 f5 f6 f7
tehdä
echo "Käyttäjä $ f1 käyttää komentoa $ f7 ja tallentaa tiedostot hakemistoon $ f6."
tehty < /etc/passwd
While-silmukan avulla se lukee kaikki seitsemän kenttää ja näyttää sitten iteratiivisesti tiedostojen sisällön päätelaitteessa.
Tallenna yllä oleva tiedosto nimellä 'readfile.sh '.
Suorita nyt yllä oleva tiedosto seuraavalla komennolla:
$ bash lukutiedosto.sh
Tutki / etc / shadow-tiedostoa
/ Etc / shadow-tiedosto sisältää kaikki tähän tiedostoon tallennetut salatut salasanat, jotka ovat luettavissa vain pääkäyttäjille.
Suoritetaan seuraava komento sisällön näyttämiseksi:
Näet kaikki salasanat salatussa muodossa:
Johtopäätös
Olemme nähneet yllä olevasta artikkelista kaikki käyttäjän tilitiedot ja salasanat, jotka on tallennettu Linux-järjestelmään / etc / passwd-tiedostoon. Voit lukea tämän tiedoston, mutta vain pääkäyttäjillä on "kirjoitusoikeudet". Lisäksi olemme myös nähneet kaikki salatut salasanat, jotka on tallennettu tiedostoon / etc / shadow. Voit myös tutkia / etc / group-tiedostoa saadaksesi lisätietoja käyttäjän ryhmästä.