/etc/shadow

From ICO wiki
Jump to navigationJump to search

Autor

Sven Mäeks
AK41
smaeks@itcollege.ee

Täiendas

Jürgen Pulles
A21
jpulles@itcollege.ee

Sisu

/etc/passwd/

Käesolevas artiklis püüame selgusele jõuda millist infot saab /etc/shadow failist välja lugeda, kuid enne teeks selgeks, miks üldse on /etc/shadow Linuxi süsteemidesse toodud.

Esialgselt, kuni 1990ndate alguseni hoiti kõiki kasutaja andmeid failid /etc/passwd, milles on näha järgnev info:

passwd-file-791527.
Originaal: [[1]].

1. Username: Kasutajanimi mis on 1-32 tähemärki pikk.

2. Password: Salasõna, kuid tänapäeval täht X tähistab, et salasõna asub failis /etc/shadow-s krüpteeritud kujul.

3. User ID (UID): Kasutaja numbriline ID.

4. Group ID (GID): Primaarse grupi ID, mida hoitakse /etc/group failis.

5. User ID Info: Lisa info, mida on võimalik lisada kasutaja kohta (aadress, telefoni number).

6. Home directory: Kodukataloogi täispikk tee. Kui kasutaja sisse logib siis on ta automaatselt seal kataloogis.

7. Command/shell: Shelli või commandi täispikk tee.

Kuid /etc/passwd polnud vigadeta. Esimeseks probleemiks on see, et /etc/passwd on loetav kõikide kasutajate poolt, mis tähendab seda, et parooliräsi oli võimalik näha igal kasutajal, kes oli süsteemi sisse loginud. Kuid kaitseks oli süsteemil "one way hash generation" ehk kui kasutaja oma parooli sisestas, loodi paroolist parooliräsi ning võrreldi seda /etc/passwd-s olevaga, kui räsi kattus sai kasutaja sisse, kui mitte, siis sisse ei pääsenud. Kuid räsist parooli tagasi ei saanud teha, mis tähendas, et kui parool ununes, siis tuli uus parool kasutajale panna. Kui kurikaelad 1980ndatel enda valdusesse mõni parooliräsi said siis polnud neil tegelikult sellega väga midagi peale hakata, kuna tol ajal ei olnud päris igalühel ligipääsu super-arvutile, mis suudaks mõistliku ajaga brute-force meetodil paroolidele hashe genereerida ja neid vastava räsiga võrrelda.

/etc/shadow/

Andmeid süsteemi kasutajate kohta hoitakse vaikimisi failides /etc/passwd ning /etc/shadow. Põhimõtteliselt võib neid faile redigeerida tavalise tekstiredaktoriga. Tuleb arvestada asjaoluga, et samaaegselt võib tegeleda paroolifailiga ka mõni tavakasutaja. Tavaliselt muudetakse süsteemi kasutajate kohta käivaid andmeid programmidega Adduser, Useradd või Newusers. Adduser töötab interaktiivselt ja sobib üksiku kasutaja lisamiseks, kusjuures programme Useradd ja Newusers on sobiv kasutada paljude kasutajate lisamiseks, kasutades sobivaid argumete või andmefaili.

Reeglina kasutatakse varjatud paroole (ingl. k. shadow passwords), mis tähendab, et kasutajate krüptitud paroolid ning info nende paroolide ja kasutajakontode aegumise kohta asuvad failis /etc/shadow ja faili sisu näeb välja selline.

Etcshadow2

Vaatame siis täpsemalt millist infot /etc/shadow fail sisaldab. Tavakasutajal selle faili õigused puuduvad. Seega selle faili sisse vaatamiseks peame ennast ruuduna sisse logima:

sudo -i
cat /etc/shadow

Iga kasutaja kohta on 8 välja, mis on üksteisest eraldatud kooloniga.

Etcshadow1.
Originaal: [[2]].

1. User name: Kasutajanimi

2. Password: Krüpteeritud parool (kui on :: ehk tühi siis parooli pole määratud ja sisselogimisel parooli ei küsita, kui alguses on * või ! siis on kasutajakonto blokeeritud). Lisaks näitab $x$ vahel olev number, millist krüpteeringu tüüpi on kasutatud ($1$ kasutab MD5; $5$ kasutab SHA-256; $6$ kasutab SHA-512). Lisaks parooli krüpteerimisele lisatakse paroolile sool, et ei oleks võimalik "find" käsuga rainbow tabelist otsides koheselt parooli kätte saada. Soola on võimalik kasutada 4096 erinevat viisi ning sellepärast ei tasu tänapäeval enam sõnaraamatus olevaid sõnu salasõnaks panna, kuna need on juba rainbow tabelites koos kõigi võimalike soolade kombinatsioonidega olemas.

3. Last password change (lastchanged): Päevade arv (loetuna 1.jaanuar.1970), viimasest parooli muutmisest.

4. Minimum: Minimaalne päevade arv, enne kui kasutajal on lubatud muuta oma parooli. (0 tähendab seda, et parooli on lubatud muuta igal ajal)

5. Maximum: Maksimaalne parooli kehtivuse aeg päevades (pärast mida on kasutaja sunnitud muutma oma salasõna, 99999 tähendab aga seda, et parooli võib muututmatta olla päris pikalt, aastaid).

6. Warn : Hoiatus, mitme päeva pärast lõpeb parooli kehtivus ja salasõna tuleb muuta.

7. Inactive : Päevade arv, pärast parooli aegumist, kuni konto blokeerumiseni.

8. Expire : Konto on blokeerumise aeg. Ehk siis päevade arv (loetuna 1.jaanuar.1970), mille saabumisel kasuatja oma kontole enam sisse logida ei saa.

9. Reserveeritud väli võimalikuks kasutamiseks tulevikus

Kokkuvõte

Loodetavasti sai /etc/shadow failis sisalduv info selgemaks.

Lingid

Kuutõrvaja

Understanding-etcshadow-file

Understanding /etc/passwd File Format

Encryption types

Erimärgid etc/shadowis

Why should you use shadow passwd file?

Viimati muudetud

Jpulles 11:32, 5 January 2015 (EEST)