Users & Groups – Χρήστες και Ομάδες Χρηστών

 

Users & Groups – Χρήστες και Ομάδες Χρηστών

 

Τη δεκαετία του ’60 αναπτύχθηκε στα εργαστήρια της BELL, που ανήκαν την περίοδο εκείνη στην εταιρία ΑΤ&Τ, το λειτουργικό UNIX. Βέβαια σήμερα, το UNIX έχει χωριστεί σε πολλούς κλάδους και αναπτύσσεται / εξελίσσεται τόσο από τη μητρική ΑΤ&Τ όσο και από διάφορες άλλες εταιρίες κάτω από το μανδύα των «unix-like» λειτουργικών συστημάτων. Ένα τέτοιο σύστημα ήταν το minix στο οποίο βασίστηκε ο Linus Torvalds ως φοιτητής για να δημιουργήσει το Linux.

 

Ένα λειτουργικό σύστημα προφανώς διαθέτει πληθώρα λειτουργιών που άλλες το ξεχωρίζουν και άλλες υπάρχουν απλά για να το ολοκληρώσουν. Μια εκ των βασικών λειτουργιών λοιπόν που αναπτύχθηκε και στήριξε το UNIX (και κατ’ επέκταση το linux) ήταν η παράλληλη – ταυτόχρονη επεξεργασία (πολυεπεξεργασία) διαφόρων εργασιών σε ένα multιuser περιβάλλον. Τι σήμαινε αυτό; Πολύ απλά πως περισσότεροι του ενός χρήστες συνδεδεμένοι ταυτόχρονα σε έναν υπολογιστή, μπορούν να εργάζονται ανεξάρτητα ο ένας από τον άλλο και να διεκπεραιώνουν πολλές εργασίες χωρίς να επηρεάζεται η δουλειά των υπολοίπων.

 

Εικόνα 1: Linus Torvalds, ο δημιουργός του Linux

 

Αυτός ήταν ο κορμός στον οποίο βασίστηκε το Internet. Μη ξεχνάτε πως κάθε φορά που χρησιμοποιείτε το google για παράδειγμα, το χρησιμοποιούν την ίδια στιγμή μερικά ακόμα εκατομμύρια ανθρώπων.

Από την επεξήγηση αυτής της λειτουργίας είναι προφανές πως οι συνδεδεμένοι σε κάποιο σύστημα χρήστες θα πρέπει να πληρούν ορισμένα κριτήρια που να προσδιορίζουν την θέση τους στην ιεραρχία λειτουργίας του υπολογιστή. Με άλλα λόγια πρέπει να υπάρχει τρόπος να διακρίνει το σύστημα ποιος έχει δικαιώματα και μέχρι πού φτάνουν αυτά. Εδώ λοιπόν αρχίζει η έννοια του χρήστη και του group στο οποίο ανήκει.

 

Χρήστες και τα χαρακτηριστικά τους

Η έννοια του «χρήστη» υφίσταται ώστε το σύστημα να μπορεί να ταυτοποιήσει ποιος «εισέρχεται» σε αυτό και με ποιο τρόπο θα εργαστεί. Κάθε χρήστης ορίζεται από ένα σύνολο χαρακτηριστικών, μοναδικών (ώστε να διακρίνεται από τους υπόλοιπους χρήστες) αλλά και κοινών (για τους χρήστες που αποτελούν μέλη ενός group):

*το username

*το password

*ο αριθμός UID (User ID)

*ο αριθμός GID (Group ID)

*το home directory του

*τα startup files και κάποιο shell που θα τρέχει κατά την είσοδό του στο σύστημα.

Το username του χρήστη θα πρέπει να είναι ένα και μοναδικό. Δεν επιτρέπεται σε ένα σύστημα να υπάρχουν χρήστες με το ίδιο username. Από τη στιγμή που δημιουργείται ένας χρήστης ο root καλείται να επιλέξει το UID του. Ένα σύστημα δεν αναγνωρίζει το χρήστη από το username αλλά από το UID του.

Εδώ πρέπει να προσεχθούν τα εξής:

*Το UID θα πρέπει να είναι μεγαλύτερο του 100 αφού τα μικρότερα είναι δεσμευμένα από το system account (για παράδειγμα, του root).

*Το ίδιο UID θα πρέπει να βρίσκεται καταχωρημένο σε όλο σας το δίκτυο ώστε να αναγνωρίζεται κοινά ο χρήστης.

*Το μέγεθος του ονόματος χρήστη θα πρέπει να είναι από 6 ως το πολύ 8 χαρακτήρες, ενώ το ελάχιστο μέγεθος του password είναι 6 χαρακτήρες.

 

Group χρηστών

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

 

/home/username

Κάθε χρήστης θα πρέπει να διαθέτει προσωπικό χώρο όπου αποθηκεύονται τα αρχεία του αλλά και οι ρυθμίσεις του συστήματος που τον αφορούν. Ο χώρος αυτός βρίσκεται μέσα στο /home και συνήθως φέρει σαν όνομα το username του χρήστη. Για παράδειγμα ο χρήστης kostas θα έχει σαν προσωπικό του χώρο στο σύστημα το /home/kostas. Φυσικά ο root μπορεί να ορίσει διαφορετικό κατάλογο σαν χώρο του χρήστη παρέχοντας τα ανάλογα permissions σε αυτόν (τον κατάλογο) ώστε να είναι προσπελάσιμος (όταν ο root δημιουργεί ένα κατάλογο αυτόματα αυτός περνάει στην δικαιοδοσία του δημιουργού του – του root σε αυτή την περίπτωση. Για να μπορεί να χρησιμοποιηθεί από τον τελικό χρήστη θα πρέπει ο root να επιδώσει στον χρήστη το δικαίωμα να το κάνει).

 

Εικόνα 2: 1970 – Εισάγοντας Unix στο Mainframe PDP-11 αξίας 65.000$ μέσω δύο τερματικών Teletype 33

 

 

Για τις ρυθμίσεις που αφορούν το χρήστη πρέπει να θυμάστε πως το linux δεν έχει την απαράδεκτη δεντρική δομή αποθήκευσης τον δεδομένων που καλείται registry αλλά αποθηκεύει σε αρχεία τις ρυθμίσεις που χρειάζεται για την εκτέλεση των λειτουργιών του. Οι κατάλογοι που φέρουν τα αρχεία αυτά είναι κρυφοί και φέρουν μια τελεία («.») μπροστά από το όνομά τους. Για την ακρίβεια κάθε κατάλογος (είτε είναι συστήματος είτε όχι) που έχει μπροστά του τελεία δεν εμφανίζεται κατά τη διάρκεια απλής προσπέλασης του folder. Η εκτέλεση όμως της εντολής ls –la τους εμφανίζει κανονικά (στο nautilus μπορείτε να επιλέξετε Ctrt+H και θα εμφανιστούν μπροστά σας).

Σε ορισμένες διανομές (distros) κάποια από τα χαρακτηριστικά αυτά έχουν απλοποιηθεί για να διευκολύνουν τους άπειρους χρήστες. Ειδικότερα λοιπόν στο Ubuntu το UID ενός χρήστη δημιουργείται αυτόματα από το σύστημα ενώ επιτρέπεται και η χρήση password μικρότερου των 6 χαρακτήρων. Επίσης αυτόματα δημιουργείται και το GID των Groups αλλά και οι κατάλογοι στο /home όπου και μεταφέρεται ο χρήστης αυτόματα μετά το login του στο σύστημα.

 

Προνόμια χρηστών (User Privileges)

Δεν πρέπει να γίνεται σύγχυση των προνομίων ενός χρήστη με τα δικαιώματά του. Προνόμιο καλείται το σύνολο τον εργασιών / λειτουργιών που το σύστημα του επιτρέπει να υλοποιήσει. Για παράδειγμα, η χρήση των εκτυπωτών που είναι εγκατεστημένοι ή των συσκευών modem ή –ακόμα πιο βασικό– η δυνατότητα mount ενός filesystem, ώστε να γίνει δυνατή η προσπέλαση των αρχείων που πιθανόν βρίσκονται εκεί. Επίσης στο Ubuntu στα προνόμια του χρήστη ανήκει η επιλογή του αν θα είναι sudoer ή όχι (περισσότερα παρακάτω).

 

Δικαιώματα χρήστη (User Permissions)

Τα δικαιώματα (permissions) καθορίζουν αν επιτραπεί ή όχι σε ένα χρήστη να «ανοίξει» ένα αρχείο, να το τροποποιήσει ή να προσπελάσει κάποιο κατάλογο. Καθορίζουν επίσης αν έχει δικαίωμα «ιδιοκτησίας» σε ένα αρχείο ή κατάλογο ή αν αυτός ανήκει σε άλλο χρήστη οπότε δεν του επιτρέπεται η πρόσβαση. Εδώ είναι προφανές πως ένας απλός χρήστης δεν έχει πρόσβαση ώστε να τροποποιεί αρχεία συστήματος με ρυθμίσεις, αφού ανήκουν ουσιαστικά στον root.

 

Εικόνα 3: Nautilus – Ορισμός δικαιωμάτων αρχείων

 

 

Η ενδιάμεση λύση του Sudoer

Οι sudoers αποτελούν μια προσωρινή κατάσταση ενός απλού χρήστη όπου του δίδονται τα δικαιώματα root ώστε να τροποποιήσει / μεταβάλει / προσπελάσει αρχεία συστήματος και καταλόγους που κανονικά, λόγω των χαμηλών προνομίων του, δε θα μπορούσε. Η εντολή καλείται «sudo» και οι χρήστες που έχουν δικαίωμα να τη χρησιμοποιήσουν «sudoers».

 

Εικόνα 4: Η εντολή sudo

 

 

Η εντολή sudo δεν είναι καινούργια εντολή αφού δημιουργήθηκε από τους Bob Coggeshall και Cliff Spencer «γύρω στο 1980» στο τμήμα Computer Science του πανεπιστημίου του SUNY/Buffalo. Η χρήση της όμως εξαπλώθηκε με την έλευση του Ubuntu αφού το λειτουργικό σύστημα ήταν έτσι σχεδιασμένο ώστε να μην επιτρέπει το login του root απ’ ευθείας, αλλά μόνο του χρήστη που δηλώθηκε κατά την εγκατάστασή του. Αν ο χρήστης θέλει να τροποποιήσει αρχεία συστήματος, να καλέσει τον package manager ή να επιτελέσει οποιαδήποτε λειτουργία εκτός των προνομίων του, πρέπει να κάνει υποχρεωτικά χρήση της «sudo» εντολής.

Η ασφάλεια της λειτουργίας ενός συστήματος Linux έγκειται ακριβώς σε αυτό το σημείο. Ο απλός χρήστης (που δεν ανήκει στους sudoers) μπορεί να έχει ένα πλήρες λειτουργικό σύστημα στα χέρια του, ώστε να κάνει όλες τις εργασίες που θέλει. Μπορεί να γράψει τα κείμενά του, να τα εκτυπώσει, να περιηγηθεί στο internet, να διαβάσει τα mail του, να ακούσει μουσική ή να δει μια ταινία και γενικά κάθε τι που θα ήθελε ένας απλός καθημερινός χρήστης από το σύστημά του.

Αν όμως θελήσει να εγκαταστήσει ένα πρόγραμμα, να αλλάξει μια ρύθμιση ή να επέμβει στα settings του υπολογιστή του, απλά θα του είναι αδύνατον χωρίς τη συνδρομή του root.

Η χρήση συστημάτων παραγωγής ή επιτραπέζιων με λειτουργικό linux, πέρα από το ρόλο σαν διακομιστές σε δίκτυα (όπου μέχρι σήμερα έχουν σαρώσει το internet), αφαιρεί πολύ δουλειά από τους Administrators και γλιτώνει χρόνο και χρήμα σε μια επιχείρηση.

Λέτε να ήταν τυχαία η επιλογή απο την microsoft της στήριξης της υπηρεσίας Hotmail πάνω σε Linux Servers και όχι στους δικούς της; Αναγκάστηκε να τους αλλάξει μόνο όταν την κατάλαβαν αλλά η «ζημιά» είχε πλέον γίνει…

 

Πηγές:

wikipedia.org,

ubuntuforums.com,

linuxquestions.com,

hellug forum

ubuntu-gr forum

 

The_Mentor – the.mentor@gmx.us

 

Leave a Reply

Your email address will not be published. Required fields are marked *