- Art Gallery -

 

- Γεγονότα, Hμερολόγιο -

Άδειες συστήματος αρχείων (Filesystem permissions), Τα μοντέρνα συστήματα αρχείων των λειτουργικών συστημάτων έχουν μεθόδους διαχείρισης αδειών ή δικαιωμάτων πρόσβασης που αποδίδουν σε συγκεκριμένους χρήστες και ομάδες χρηστών. Με αυτόν τον τρόπο το σύστημα μπορεί να ελέγχει την ικανότητα των χρηστών να επιφέρουν αλλαγές στα περιεχόμενα του συστήματος αρχείων.

Διαφορές μεταξύ λειτουργικών συστημάτων

Οι άδειες στο Unix

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

Τα δικαιώματα διαχειρίζονται σε τρεις κλάσεις. Αυτές είναι γνωστές σαν χρήστης, ομάδα, και άλλοι. Πρακτικά οι άδειες στο unix είναι μια απλοποιημένη μορφή από λίστες ελέγχου πρόσβασης.

Όταν δημιουργείται ένα αρχείο σε ένα unix σύστημα , οι άδειες του καθορίζονται από την umask της διεργασίας που το δημιουργεί.

Κλάσεις

Στα συστήματα αρχείων λειτουργικών συστημάτων unix κάθε αρχείο και κατάλογος ανήκει σε κάποιον συγκεκριμένο χρήστη. Ο ιδιοκτήτης ενός αντικειμένου αποτελεί την κλάση των χρηστών. Άδειες που ανατίθενται στην κλάση των χρηστών εφαρμόζονται μόνο σε αυτόν τον χρήστη.

Επίσης σε κάθε αρχείο ή κατάλογο ανατίθεται μια ομάδα που αποτελεί την κλάση της ομάδας. Δικαιώματα που ανατίθενται στην κλάση της ομάδας ισχύουν μόνο για τα μέλη της (εκτός από τον ιδιοκτήτη). Ενώ ένα συγκεκριμένο αρχείο μπορεί να ανατεθεί μόνο σε μια ομάδα , ένας χρήστης μπορεί να είναι μέλος σε πολλές ομάδες και μια ομάδα μπορεί να περιλαμβάνει οποιονδήποτε αριθμό χρηστών. Η εντολή "groups" εμφανίζει όλες τις ομάδες στις οποίες ανήκει ένας χρήστης και η εντολή "members" τους χρήστες που ανήκουν σε κάποια ομάδα . Ο διαχειριστής του συστήματος με την εντολή "addgroup" μπορεί να προσθέσει έναν χρήστη σε μια ομάδα.

Οι χρήστες που δεν ανήκουν (σχετικά με ένα αρχείο) είτε στην κλάση των χρηστών (δηλαδή δεν είναι ιδιοκτήτες) ούτε στην κλάση της ομάδας ανήκουν στην κλάση άλλοι.

Οι τελικές άδειες που ισχύουν για έναν χρήστη σε σχέση με ένα αρχείο καθορίζονται με λογική προτεραιότητα. Πχ ο χρήστης στον οποίο ανήκει ένα αρχείο θα έχει και τα τελικά δικαιώματα που αντιστοιχούν στην κλάση χρήστη ανεξάρτητα από τα δικαιώματα που ανατίθενται στην κλάση ομάδα ή άλλοι.

Βασικές άδειες

Υπάρχουν τρεις άδειες-δικαιώματα σε λειτουργικά συστήματα τύπου unix που εφαρμόζονται σε κάθε κλάση:

* Το δικαίωμα ανάγνωσης, που δίνει την δυνατότητα να διαβαστεί ένα αρχείο. Όταν τεθεί σε έναν κατάλογο αυτό το δικαίωμα επιτρέπει την ανάγνωση των ονομάτων των αρχείων στον κατάλογο (αλλά όχι την εύρεση περαιτέρω πληροφορίας για τα αρχεία όπως μέγεθος, ιδιοκτήτης κτλ)
* Το δικαίωμα εγγραφής, που δίνει την δυνατότητα να γράψουμε ένα αρχείο. Όταν τεθεί σε έναν κατάλογο αυτό το δικαίωμα επιτρέπει την αλλαγή καταχωρήσεων στον κατάλογο όπως δημιουργία, διαγραφή, επανομασία κτλ.
* Το δικαίωμα εκτέλεσης, που δίνει την δυνατότητα να εκτελέσουμε ένα αρχείο.

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

Επιπρόσθετες άδειες

Συμβολισμός των αδειών στο unix

Συμβολισμός

* - σημαίνει κανονικό αρχείο
* d σημαίνει κατάλογος directory
* b σημαίνει ειδικό αρχείο μπλοκ
* c σημαίνει ειδικό αρχείο χαρακτήρων
* l σημαίνει συμβολικός σύνδεσμος
* p σημαίνει διασωλήνωση με όνομα
* s σημαίνειd υποδοχέας ονόματος περιοχής (domain socket)

Κάθε κλάση δικαιωμάτων αναπαρίσταται από τρεις χαρακτήρες. Η πρώτη ομάδα χαρακτήρων αναπαριστά την κλάση χρήστη, η δεύτερη την κλάση ομάδας και η τρίτη και τελική τις άλλες κλάσεις.

Καθένας από τους τρεις χαρακτήρες αναπαριστά τις άδειες ανάγνωση read , εγγραφή write, και εκτέλεση execute αντίστοιχα:

* r αν τεθεί το μπιτ ανάγνωσης, - αν δεν τεθεί.
* w αν τεθεί το μπιτ εγγραφής, - αν δεν τεθεί.
* x αν τεθεί το μπιτ εκτέλεσης, - αν δεν τεθεί.
* Το x θα είναι s αν το μπιτ setuid ή setgid έχει επίσης τεθεί, και τρίτον θα είναι t αν το sticky μπιτ έχει τεθεί. Αν αυτά έχουν τεθεί αλλά το μπιτ εκτέλεσης δεν έχει τεθεί τότε το τελευταίο θα είναι στα κεφαλαία.

Ακολουθούν παραδείγματα στην συμβολική γραφή:

* -rwxr-xr-x για ένα κανονικό αρχείο που η κλάση του των χρηστών έχει πλήρη δικαιώματα και του οποίου η ομάδα και οι άλλες κλάσεις έχουν μόνο δικαίωμα ανάγνωσης και εγγραφής
* crw-rw-r-- για ένα ειδικό αρχείο χαρακτήρα του οποίου οι κλάσεις χρήστη και ομάδας έχουν δικαιώματα ανάγνωσης και εγγραφής και οι άλλες κλάσεις μόνο δικαίωμα ανάγνωσης.
* dr-x------ για έναν κατάλογο του οποίου η κλάση χρηστών έχει δικαιώματα ανάγνωσης και εκτέλεσης (με την ειδική σημασία που δώσαμε στην εκτέλεση για τους καταλόγους) και κανένα η κλάση ομάδας και άλλων.


Συμβολισμός στο οχταδικό

Μια ακόμα κοινή μέθοδος για την αναπαράσταση των αδειών των αρχείων του unix είναι στο οκταδικό σύστημα αρίθμησης. Ο συμβολισμός αυτός αποτελείται από τρία ή τέσσερα ψηφία με τιμή που έχει βάση το 8.

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

Κάθε ένα από αυτά τα ψηφία είναι το άθροισμα των συστατικών της μπιτ (δες επίσης δυαδικό σύστημα αρίθμησης). Σαν αποτέλεσμα, συγκεκριμένα μπιτ προστίθενται και δίνουν το άθροισμα που αναπαριστάται από έναν αριθμό:

* Το μπιτ ανάγνωσης προσθέτει 4 στο σύνολο (100 στο δυαδικό),
* Το μπιτ εγγραφής προσθέτει 2 στο σύνολο (010 στο δυαδικό), και
* Το μπιτ εκτέλεσης προσθέτει 1 στο σύνολο (001 στο δυαδικό).

Αυτές οι τιμές παρέχουν μονοσήμαντους συνδυασμούς, κάθε άθροισμα αναπαριστά ένα συγκεκριμένο συνδυασμό αδειών.

Ας δούμε μερικά παραδείγματα από την συμβολική γραφή των αδειών μεταφερόμενα στην οκταδική γραφή:

* "-rwxr-xr-x" θα αναπαρασταθεί σαν 755 στα τρία οκταδικά ψηφία.
* "-rw-rw-r--" θα αναπαρασταθεί σαν 664 στα τρία οκταδικά ψηφία.
* "-r-x------" θα αναπαρασταθεί σαν 500 στα τρία οκταδικά ψηφία.


Ακολουθεί μια σύνοψη της σημασίας της κάθε τιμής στο οκταδικό:

0 --- no permission
1 --x εκτέλεση
2 -w- εγγραφή
3 -wx εγγραφή και εκτέλεση
4 r-- ανάγνωση
5 r-x ανάγνωση και εκτέλεση
6 rw- ανάγνωση και εγγραφή
7 rwx ανάγνωση, εγγραφή και εκτέλεση.

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

(4=r)+(1=x) == (5=r-x)
(4=r)+(2=w) == (6=rw-)
(4=r)+(2=w)+(1=x) == (7=rwx)

Ακολουθεί και μια σύνοψη που δείχνει ποιά οκταδικά ψηφία επηρεάζουν άδειες για χρήστη, ομάδα και άλλους:

* ΧΟΑ = Χρήστης, Ομάδα, Άλλοι
* 777 = "-rwxrwxrwx" = rwx για όλους
* 754 = "-rwxr-xr--" = rwx για ιδιοκτήτη, r-x για ομάδα, r-- για άλλους
* 124 = "---x-w-r--" = --x για ιδιοκτήτη ,-w- για ομάδα,r-- για άλλους


Δες επίσης

* Access control list
* Σύστημα αρχείων
* POSIX

Κόσμος

Αλφαβητικός κατάλογος

Hellenica World

Από τη ελληνική Βικιπαίδεια http://el.wikipedia.org . Όλα τα κείμενα είναι διαθέσιμα υπό την GNU Free Documentation License

Προσαρμοσμένη αναζήτηση