Επόμενο Περιεχόμενα
Τα UNIX συστήματα μιας και είναι πολυχρηστικά,
χρειάζονται κάποιο τρόπο για να ξεχωρίζουν τους χρήστες.
Ο κάθε χρήστης διαθέτει ένα μοναδικό αριθμό (user id), το
οποίο αντιστοιχεί σε κάποιο όνομα χρήστη (username). Οι
παραπάνω αντιστοιχίες καθορίζονται στο αρχείο
"/etc/passwd", ονομασμένο έτσι για ιστορικούς λόγους. Μια
καταχώριση στο αρχείο αυτό θα μπορούσε να είναι:
nmav:x:500:4:Nikos Mavroyanopoulos:/home/nmav:/bin/bash
Τα πεδία σε αυτό το αρχείο ξεχωρίζουν απο την ανω-κάτω
τελεία ':', ενώ τα πεδία που μας ενδιαφέρουν είναι το 1 που
περιέχει το όνομα χρήστη - nmav - καθώς και το πεδίο 3 όπου
αναφέρεται η ταυτότητα του χρήστη - 500.
Τα περισσότερα UNIX σύστηματα, για να πιστοποιήσουν την
ταυτότητα του χρήστη χρησιμοποιούν συνθηματικές λέξεις, ή
απλώς συνθηματικά (passwords). Αυτά τα συνθηματικά
αλλάζουν με την εκτέλεση του "/usr/bin/passwd"
προγράμματος, το οποίο ανανεώνει τη βάση συνθηματικών του
συστήματος. Σε απλά συστήματα αυτή η βάση είναι ένα
εκτυπώσιμο αρχείο, και στα περισσότερα παλαιά συστήματα
αυτό ήταν το ίδιο το "/etc/passwd". Στα πιο νέα συστήματα
είναι ένα αρχείο αναγνώσιμο μόνο απο τον διαχειριστή του
συστήματος, και συνήθως είναι το "/etc/shadow".
Αντίθετα με αυτό που θα περίμενε κανείς, η βάση
συνθηματικών του συστήματος δεν περιέχει τα ίδια τα
συνθηματικά. Τα συνθηματικά κωδικοποιούνται μέσω ενός
αλγορίθμου μίας φοράς ( 1) και αποθηκεύονται. Με αυτόν
τον τρόπο δεν μπορεί ούτε ο διαχειριστής του συστήματος
να δει τα συνθηματικά των χρηστών (μπορεί όμως να τα
αλλάξει). Μιας και τα συνθηματικά δεν υπάρχουν στην βάση
ίσως να αναρωτηθήτε πως γίνεται η πιστοποίηση του χρήστη.
Αν υποθέσουμε ότι ο αλγόριθμος μίας φοράς είναι PW(x), με
x να είναι το συνθηματικό, τότε κατά την εισαγωγή του
συνθηματικού(x) το σύστημα αρκεί να υπολογίσει πάλι το
PW(x) και να το συγκρίνει με το αποθηκευμένο στην βάση.
Επόμενο Περιεχόμενα