Next Previous Contents

5. Χρήστες

5.1 Εισαγωγή

Αν κάποιο άτομο θέλει να χρησιμοποιεί το σύστημά σας, τότε θα πρέπει να έχει λογαριασμό χρήστη. Ο λογαριασμός χρήστη είναι όλα εκείνα τα χαρακτηριστικά που συγκεκριμενοποιούν ποιός είναι ο χρήστης, τί επιτρέπεται να κάνει και που του επιτρέπεται να το κάνει. Τα χαρακτηριστικά αυτά περιλαμβάνουν:

Κάθε χρήστης του συστήματος πρέπει να έχει μοναδικό username και UID. Λέγοντας μοναδικό εννοούμε ότι μέσα σε ένα σύστημα μπορεί να υπάρχει μόνο ένας χρήστης με ένα συγκεκριμένο username και UID και κανένας άλλος. Το λειτουργικό σύστημα δεν χρησιμοποιεί το username για να αναγνωρίσει έναν χρήστη, αλλά το UID (user ID). Διαλέγοντας ένα UID για έναν χρήστη πρέπει να λάβετε υπ' όψιν 1) ότι πρέπει το UID να είναι πάνω από 100, γιατί οι αριθμοί κάτω από 100 χρησιμοποιούνται από τα system account (π.χ. root) και 2) ότι σε ένα δίκτυο, πρέπει το ίδιο UID να είναι καταχωρημένο για τον ίδιο χρήστη σε όλα τα μηχανήματα του δικτύου αυτού. Επίσης, το username, όπως και το password πρέπει να έχει μήκος μέχρι 8 χαρακτήρες. Το password έχει ελάχιστο 6 χαρακτήρες.

Κάθε χρήστης ανήκει τουλάχιστον σε ένα group. Μπορεί επίσης να ανήκει σε περισσότερα από ένα group. Το GID (group ID) είναι ο χαρακτηριστικός αριθμός ενός συγκεκριμένου group. Αν δημιουργήσετε καινούργιο group, προσέξτε να δώσετε GID πάνω από 10 γιατί τα υπόλοιπα είναι κρατημένα για τα system groups (π.χ. root).

Κάθε χρήστης πρέπει να έχει ένα home directory. Αυτό είναι το directory στο οποίο βρίσκεται όταν κάνει login στο σύστημα. Το home directory έχει ίδιο όνομα με το username και βρίσκεται στον κατάλογο /home. Δηλαδή, ο χρήστης djart έχει home directory το /home/djart. Επίσης, μέσα στο home directory, βρίσκονται τα κρυφά αρχεία ρυθμίσεων των εφαρμογών του χρήστη (όπως το .Xdefaults το οποίο περιέχει πληροφορίες για τις ρυθμίσεις των X-Windows). Τα κρυφά αρχεία έχουν μπροστά από το όνομά τους τελεία (.) και φαίνονται με την εντολή ls -la.

5.2 Αρχεία ρυθμίσεων χρηστών

Το αρχείο /etc/passwd περιέχει πληροφορίες για τους χρήστες του συστήματος. Αν το ανοίξετε με έναν επεξεργαστή κειμένου, θα παρατηρήσετε ότι αποτελείται από γραμμές του τύπου:
username:Igljf78DS:132:20:User's Name and info:/home/username:/bin/csh
Το σημάδι (:) χωρίζει τη γραμμή αυτή σε πεδία. Το 1ο πεδίο περιγράφει το username ενός χρήστη. Το 2ο πεδίο περιγράφει το password του χρήστη σε encrypted μορφή. Το 3ο πεδίο περιγράφει το UID του χρήστη, ενώ το 4ο πεδίο περιγράφει το GID του group στο οποίο ανήκει ο χρήστης. Το 5ο πεδίο περιγράφει πληροφορίες σχετικά με τον συγκεκριμένο χρήστη, όπως το όνομα, τα επίθετό του, το τηλέφωνό του και άλλες τέτοιες πληροφορίες. Το 6ο πεδίο περιγράφει το home directory του χρήστη (όπως καταλαβαίνετε μπορεί να οριστεί οποιοσδήποτε κατάλογος σαν home directory, αλλά αυτό δεν ενδείκνυται, καθώς υπάρχει κίνδυνος να μπορούν και άλλοι χρήστες να χρησιμοποιήσουν τα περιεχόμενα του directory αυτού). Το 7ο πεδίο περιγράφει το login shell που τρέχει κάθε φορά που ο χρήστης μπαίνει στο σύστημα. Σ' αυτό το πεδίο μπορεί να ορισθεί οποιοδήποτε πρόγραμμα, το οποίο θα τρέχει κάθε φορά που ο χρήστης κάνει login.

Επειδή τα permissions του /etc/passwd επιτρέπουν σε όλους τους χρήστες του συστήματος να βλέπουν τα περιεχόμενα του αρχείου αυτού, στις πιο καινούργιες distributions του Linux, το πεδίο του encrypted password των χρηστών δεν περιγράφονται στο /etc/passwd, αλλά στο αρχείο /etc/shadow, το οποίο μπορεί να διαβαστεί μόνο από τον root. Μια γραμμή του /etc/shadow είναι κάπως έτσι:
username:Igljf78DS:543:14:180:10:60:: Το 1ο πεδίο περιγράφει το username και το 2ο το encrypted password. Το 3ο πεδίο περιγράφει την ημερομηνία που το password άλλαξε για τελευταία φορά, ενώ το 4ο πεδίο περιγράφει το ελάχιστο αριθμό ημερών που το password πρέπει να υπάρχει χωρίς να αλλαχτεί, ενώ το 5ο πεδίο περιγράφει το μέγιστο αριθμό ημερών που το password μπορεί να υπάρχει χωρίς να αλλαχτεί. Το 6ο πεδίο περιγράφει τον αριθμό ημερών που θα περάσουν μέχρι να σταλεί στο χρήστη μήνυμα ότι το password του λήγει. Το 7ο πεδίο περιγράφει τον αριθμό των ημερών που ο λογαριασμός χρήστη θα παραμείνει ανενεργός μέχρι να απομακρυνθεί. Το 8ο πεδίο περιγράφει την ακριβή ημερομηνία στην οποία λήγει το password.

Το αρχείο /etc/group περιέχει πληροφορίες για τα group του συστήματος. Οι γραμμές του έχουν τη μορφή:
group:*:15:user1,user2,user3 Το 1ο πεδίο περιγράφει το όνομα του group και το 2ο πεδίο περιγράφει το password του group αυτού. Το 3ο πεδίο περιγράφει το GID του group, ενώ το 4ο πεδίο ορίζει τους χρήστες του group, χωρισμένους με κόμμα (,).

5.3 Τα βήματα για την προσθήκη χρηστών

Τα βήματα που πρέπει να ακολουθήσετε για να προσθέσετε έναν χρήστη στο σύστημά σας είναι:

5.4 Προσθήκη χρηστών

Το Linux σας παρέχει έναν αριθμό χρήσιμων εργαλείων για την προσθήκη χρηστών με αυτοματοποιημένη τη διαδικασία των παραπάνω βημάτων. Η εντολή useradd προσθέτει το χρήστη στο /etc/passwd, ρυθμίζει το /etc/group, δημιουργεί home directory και αντιγράφει τα αρχεία που βρίσκονται στον κατάλογο /etc/skel στο home directory του χρήστη που προσθέσατε. Ο κατάλογος αυτός (/etc/skel) περιέχει κάποια έτοιμα αρχεία ρυθμίσεων τα οποία χρειάζονται για όλους τους χρήστες του συστήματος. Όταν προσθέτετε χρήστη με το useradd τότε αντιγράφονται όλα τα περιεχόμενα του /etc/skel στο home directrory του χρήστη που μόλις δημιουργήσατε. Η εντολή useradd εκτελείται ώς εξής: useradd username, όπου username το login όνομα του χρήστη. Έπειτα χρησιμοποιήστε την εντολή passwd username για να θέσετε έναν κωδικό για το χρήστη. Εκτός από αυτά τα δύο εργαλεία, υπάρχουν και άλλα, τα οποία τρέχουν σε γραφικό περιβάλλον (π.χ. linuxconf ή Y.A.S.T) ώστε να κάνουν ακόμα πιο εύκολη την προσθήκη χρηστών.

5.5 Διαγραφή χρηστών

Εάν θέλετε να διαγράψετε έναν λογαριασμό χρήστη από το σύστημά σας, τότε θα πρέπει να ακολουθήσετε την αντίθετη πορεία των βημάτων προσθήκης του, δηλαδη:

ΠΡΟΣΟΧΗ!!! Αν θέλετε να μην διαγράψετε όλα αυτά, αλλά να διατηρήσετε ανενεργό το λογαριασμό του χρήστη για λίγο καιρό, τότε μην διαγράψετε απλώς το password του από το /etc/shadow, αλλά στη θέση του βάλτε το σύμβολο *. Το σύμβολο αυτό σημαίνει ότι με οποιονδήποτε κωδικό προσπαθήσει να μπεί ο χρήστης στο σύστημα, δεν θα τα καταφέρει.

Για την διαγραφή των χρηστών μπορείτε να εκτελέσετε μόνοι σας τα παραπάνω βήματα ή να χρησιμοποιήσετε την εντολή userdel, πληκτρολογώντας userdel username, όπου username το όνομα του λογαριασμού του χρήστη που θέλετε να αφαιρέσετε.


Next Previous Contents