Μάγκες έχω και εγώ μερικές απορίες για τα αρχεία
/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 του χρήστη ήταν το πρόγραμμα - κέλυφος που θα εκτελούταν ώστε ο χρήστης να μπορεί να επικοινωνεί με το σύστημα μέσο του τερματικού του. )
Κάθε γραμμή - εγγραφή αυτού του αρχείου αφορά κάθε ένα χρήστη του συστήματος (
επομένως όταν προσθέτουμε έναν νέο χρήστη στο σύστημα, ουσιαστικά προστίθεται μια νέα γραμμή σε αυτό το αρχείο )
Ευχαριστώ πάρα πολύ.