/etc/shadow: Difference between revisions
(10 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
==Autor== | ==Autor== | ||
Sven Mäeks | :Sven Mäeks | ||
:AK41 | |||
:[mailto:smaeks(at)itcollege.ee smaeks@itcollege.ee] | |||
Täiendas | |||
:Jürgen Pulles | |||
:A21 | |||
:[mailto:jpulles(at)itcollege.ee jpulles@itcollege.ee] | |||
==Sisu== | ==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: | |||
[[Image:passwd-file-791527.png|frame|center|alt=passwd-file-791527.|Originaal: ''[[http://files.cyberciti.biz/ssb.images/uploaded_images/passwd-file-791527.png]]''.]] | |||
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. | 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. | 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. | ||
[[ | [[Image:Etcshadow2.png|frame|center|alt=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: | 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: | ||
Line 20: | Line 48: | ||
Iga kasutaja kohta on 8 välja, mis on üksteisest eraldatud kooloniga. | Iga kasutaja kohta on 8 välja, mis on üksteisest eraldatud kooloniga. | ||
[[ | [[Image:Etcshadow1.png|frame|center|alt=Etcshadow1.|Originaal: ''[[http://files.cyberciti.biz/ssb.images/uploaded_images/shadow-file-718705.png]]''.]] | ||
1. User name: Kasutajanimi | 1. User name: Kasutajanimi | ||
2. Password: Krüpteeritud parool | 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. | 3. Last password change (lastchanged): Päevade arv (loetuna 1.jaanuar.1970), viimasest parooli muutmisest. | ||
Line 34: | Line 62: | ||
6. Warn : Hoiatus, mitme päeva pärast lõpeb parooli kehtivus ja salasõna tuleb muuta. | 6. Warn : Hoiatus, mitme päeva pärast lõpeb parooli kehtivus ja salasõna tuleb muuta. | ||
7. Inactive : Päevade arv, pärast | 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== | ==Kokkuvõte== | ||
Line 50: | Line 78: | ||
[http://www.cyberciti.biz/faq/understanding-etcshadow-file/ Understanding-etcshadow-file] | [http://www.cyberciti.biz/faq/understanding-etcshadow-file/ Understanding-etcshadow-file] | ||
[http:// | [http://www.cyberciti.biz/faq/understanding-etcpasswd-file-format/ Understanding /etc/passwd File Format] | ||
[http://linux.die.net/man/3/crypt Encryption types] | |||
[http://brandonhutchinson.com/wiki/Linux_/etc/shadow_encrypted_password_field Erimärgid etc/shadowis] | |||
[http://www.tldp.org/HOWTO/Shadow-Password-HOWTO-2.html Why should you use shadow passwd file?] | |||
==Viimati muudetud== | ==Viimati muudetud== | ||
[[User: | [[User:Jpulles|Jpulles]] 11:32, 5 January 2015 (EEST) | ||
[[Category:IT infrastruktuuri teenused]] | [[Category:IT infrastruktuuri teenused]] | ||
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]] | [[Category:Operatsioonisüsteemide administreerimine ja sidumine]] |
Latest revision as of 11:34, 5 January 2015
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:
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.
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.
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
Understanding /etc/passwd File Format
Why should you use shadow passwd file?
Viimati muudetud
Jpulles 11:32, 5 January 2015 (EEST)