Πως παράγεται ο κωδικός (password) στο /etc/shadow;

...το μέρος για να ξεκινήσετε!

Συντονιστής: adem1

Κανόνες Δ. Συζήτησης
Παρακαλώ να επιλέξετε, με προσοχή, την άδεια που θέλετε να έχουν οι οδηγοί που συγγράφετε.
Πληροφορίες για τις άδειες μπορείτε να βρείτε εδώ.
Άμα επιθυμείτε κάποια άλλη άδεια επικοινωνήστε με κάποιο Διαχειριστή είτε Συντονιστή.

Σημαντικό είναι να χρησιμοποιήσετε την υπηρεσία http://imagebin.ubuntu-gr.org για τις εικόνες.

Re: Πως παράγεται ο κωδικός (password) στο /etc/shadow;

Δημοσίευσηαπό medigeek » 17 Απρ 2011, 09:07

Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Πως παράγεται ο κωδικός (password) στο /etc/shadow;

Δημοσίευσηαπό Star_Light » 17 Απρ 2011, 13:27



Ναι , αλλα θα προσπαθησω να το βρω και στα ελληνικα :P
ευχαριστουμε παντως.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Πως παράγεται ο κωδικός (password) στο /etc/shadow;

Δημοσίευσηαπό ANDREAS122 » 18 Απρ 2011, 00:42

υπάρχει τρόπος κάποιος να καταλάβει τον κοδικό μου ή τον κοδικό ροοτ χωρίς να έχει τους κωδικούς οταν ειμαι συνδεμένος. δλδ άπλα βλέποντας τα αρχεία?
Γνώσεις ⇛ Linux: καλό ┃ Προγραμματισμός: PHP
Λειτουργικό ⇛ Linux
Προδιαγραφές ⇛ Toshiba tecra 8000 ┃ pentium 2┃ neomagic ┃ 128mb ram ┃ tl-wn 510g
ANDREAS122
punkTUX
punkTUX
 
Δημοσιεύσεις: 258
Εγγραφή: 20 Ιαν 2010, 16:34
Εκτύπωση

Re: Πως παράγεται ο κωδικός (password) στο /etc/shadow;

Δημοσίευσηαπό Star_Light » 18 Απρ 2011, 01:20

ANDREAS122 έγραψε:υπάρχει τρόπος κάποιος να καταλάβει τον κοδικό μου ή τον κοδικό ροοτ χωρίς να έχει τους κωδικούς οταν ειμαι συνδεμένος. δλδ άπλα βλέποντας τα αρχεία?


Ο χρηστης root δεν εχει κωδικο. (στο 2ο πεδιο αν προσεξεις καλυτερα στο αρχειο /etc/passwd εχει ενα '!' κατι που σημαινει οτι δεν παιζει κωδικος για τον χρηστη αυτον καθως και για τους αλλους χρηστες του συστηματος εκτος εσου, αντι για το θαυμαστικο μπορει , σιγουρα βασικα θα δεις και το αστερακι κατι που επισης συνηγορει στα παραπανω).

Νομιζω δεν υπαρχει κωδικος σε αυτο το αρχειο δικος σου. Παρα μονο η τυχαια τιμη και η παραγομενη.
Δηλαδη αυτη η οποια βγαινει απο τον συνδυασμο του κωδικου σου και της τυχαιας τιμης... μπαινουν αυτα τα 2 σαν εισοδος στην SHA-1
και η εξοδος ειναι αυτη η παραγομενη τιμη. Απο αυτη την παραγομενη τιμη δεν μπορεις να πας πισω στον κωδικο και να τον αποκρυπτογραφησεις.
Διοτι συμφωνα με την θεωρια της συναρτησης συνοψης ειναι πρακτικα λεει αδυνατο να οδηγηθεις απο μια εξοδο ψ σε μια εισοδο χ
για αυτο οι συναρτησεις αυτες καλουνται μονοδρομες.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Πως παράγεται ο κωδικός (password) στο /etc/shadow;

Δημοσίευσηαπό Star_Light » 18 Απρ 2011, 01:29

εγω δεν μπορω να καταλαβω γιατι λεει πως η εξοδος τυπικα ειναι μικροτερη της εισοδου... και εδω το αλατισμα που εδωσε ο σιμος (τυχαια τιμη) + ο κωδικος τεστ δεν ειναι μικροτερος απο το μακρυναρι της παραγομενης ποσοτητας που βγηκε......

http://el.wikipedia.org/wiki/%CE%9A%CF% ... E%BF%CF%8D
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Δημοσίευσηαπό Tassos10 » 04 Ιαν 2015, 16:04

Μάγκες έχω και εγώ μερικές απορίες για τα αρχεία /etc/passwd & /etc/shadow .
Να ξεκαθαρίσω όμως πως μιλάμε για το τώρα ( τι παίζει αυτή την στιγμή ), βεβαίως οι ιστορικές αναδρομές και η ιστορική εξέλιξη θα έχει ενδιαφέρον και θα μου άρεσε να την έβλεπα, αλλά οι ερωτήσεις μου έχουν να κάνουν με την παρούσα κατάσταση. Λοιπόν εγώ έχω Linux Ubuntu 12.04 ( δε ξέρω αν σε άλλες διανομές μπορεί να ισχύουν άλλα ) και οι ερωτήσεις μου είναι οι ακόλουθες :

1) Γιατί σε αυτά τα αρχεία υπάρχουν τόσες πολλές εγγραφές ;
Υπάρχουν γύρω στις 48 εγγραφές σε εμένα στα δύο αυτά αρχεία.
α) Πως γίνεται να ξέρουμε πως το σύστημα μας είναι ασφαλές και δεν έχει μπει κάποιος "παράνομα" ;
β) Γίνεται να γνωρίζουμε ποιοι είναι οι standard χρήστες που πρέπει να υπάρχουν σε αυτά τα αρχεία ( και αν γνωρίζει κάποιος και έχει το κουράγιο να μου πει και το λόγο ) ;

2) Πλέον σε κάθε εγγραφή του /etc/passwd στο δεύτερο πεδίο υπάρχει "x", άρα ο κωδικός βρίσκεται στο αρχείο /etc/shadow , το οποίο για να το δω ( σε αντίθεση με το /etc/passwd ), χρειάστηκε να έχω άδεια υπερχρήστη.
α) Ωραία, αυτός ο διαχωρισμός ( που παλιά δεν υπήρχε ), θα μου άρεσε να ήξερε γιατί δημιουργήθηκε. Αλλά αυτό που κυρίως θα ήθελα να ρωτήσω είναι πως αν κάποιος πάρει το αρχείο /etc/passwd δεν έχει καταφέρει και τίποτα, απλώς να δει όλους τους χρήστες του συστήματος και με αυτό το μόνο που μπορεί να κάνει είναι ίσος επιθέσεις ωμής βίας προσπαθώντας να μαντέψει τον κωδικό του κάθε χρήστη, σωστά;
β) Αν όμως κάποιος καταφέρει να πάρει το αρχείο /etc/shadow , αυτομάτως ας πούμε είναι λες και έχει πλήρη πρόσβαση στο σύστημα, εφόσον πέρα από τα ονόματα που βλέπει, μπορεί να αποκωδικοποιήσει πλέον και τους κωδικούς που βλέπει ;

3) Οι κωδικοποιημένοι κωδικοί στο αρχείο /etc/shadow σε τι κωδικοποίηση είναι ; Οποίος γνωρίζει οποιεσδήποτε πληροφορίες για την υπάρχουν κωδικοποίηση, πως γίνεται κ.τ.λπ. θα με ενδιέφεραν.



Τέλος για όσους δε γνωρίζουν να αναφέρουμε και ενημερωτικά πως η δομή των αρχείου /etc/passwd αποτελείται από 7 πεδία τα οποία χωρίζονται μεταξύ τους με " : " και είναι τα ακόλουθα :
Κώδικας: Επιλογή όλων
όνομα_χρήστη : συνθηματικό : uid : gid  : σχόλια : ατομικός_κατάλογος : διαταγή


Αυτά που νομίζω θέλουν κάποια επεξηγήσει είναι :
    συνθηματικό : Αυτό πλέον αν δε κάνω λάθος σε κάθε διανομή linux ( π.χ. στην ubuntu όπως βλέπω ) περιέχει τον χαρακτήρα "x" όπου όπως είπαμε αυτό σημαίνει πως το κρυπτογραφημένο συνθηματικό ( password ) φυλάσσεται στο αρχείο /etc/shadow .

    uid : ( user identification ). Είναι ένας μοναδικό αριθμός που αποτελεί την ταυτότητα του χρήστη για το σύστημα.

    gid : ( group identification ). Είναι ένας μοναδικό αριθμός που αποτελεί την ταυτότητα της ομάδας ( group ) στην οποία εντάσσεται ο χρήστης

    ατομικός_κατάλογος : ( home directory ). Είναι ο προσωπικό κατάλογος ( directory ) του χρήστη ( προσδιορίζει και άλλα πράγματα, αλλά δε μας αφορούν επί του παρόντος ).

    διαταγή : Είναι εκείνο το πρόγραμμα που θα καλέσει η διαδικασία σύνδεσης έπειτα από μια επιτύχει σύνδεση του χρήστη στο σύστημα, ας πούμε τώρα για να μην το μπερδεύομε πολύ, πως είναι ίσος και από τα πρώτα προγράμματα που εκτελούνται όταν εισέρχεται ένας χρήστης στο σύστημα και αποτελεί το κέλυφος του τερματικού που είναι το Bourne Shell ( /bin/sh ), είτε το bash είτα κάποιο άλλο. ( Στα χρόνια που δεν υπήρχε γραφική διεπαφή χρήστη & δούλευαν όλα με τερματικό, μετά το login του χρήστη ήταν το πρόγραμμα - κέλυφος που θα εκτελούταν ώστε ο χρήστης να μπορεί να επικοινωνεί με το σύστημα μέσο του τερματικού του. )

Κάθε γραμμή - εγγραφή αυτού του αρχείου αφορά κάθε ένα χρήστη του συστήματος ( επομένως όταν προσθέτουμε έναν νέο χρήστη στο σύστημα, ουσιαστικά προστίθεται μια νέα γραμμή σε αυτό το αρχείο )

Ευχαριστώ πάρα πολύ. :)
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-50-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.2.0-49-generic
3 Intel Core2 Quad CPU Q9400 2.66GHz ‖ RAM 3954 MiB ‖ ASRock G31M-S
4 nVidia G92 [GeForce 9800 GT] [10de:0614] {nvidia}
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)
Tassos10
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 472
Εγγραφή: 29 Μαρ 2010, 10:43
Εκτύπωση

Προηγούμενη

Επιστροφή στο Οδηγοί - How to - Tutorials