Το Linux υλοποιεί την παραδοσιακή μορφή δικαιωμάτων για τα αρχεία και τους φακέλους που βρίσκονται στο σύστημα αρχείων του (εφόσον αυτό το σύστημα υποστηρίζει κάτι τέτοιο, όπως πχ κάνουν τα ext3/ext4).
Κλάσεις
Υπάρχουν 3 κλάσεις χρηστών:
- Ιδιοκτήτης (owner): Κάθε αρχείο και φάκελος έχει έναν χρήστη που θεωρείται "ιδιοκτήτης" του. Συνήθως είναι αυτός που το δημιούργησε.
- Ομάδα (group): Είναι οι χρήστες που ανήκουν στην ίδια ομάδα χρηστών με τον ιδιοκτήτη.
- Άλλοι (others): Είναι όλοι όσοι δεν ανήκουν στις προηγούμενες κατηγορίες.
Δικαιώματα
Για κάθε μια κλάση χρηστών υπάρχουν 3 διακριτά δικαιώματα:
- Ανάγνωση (read)
- Σε αρχεία: Επιτρέπει την ανάγνωση του αρχείου.
- Σε φακέλους: Επιτρέπει την ανάγνωση των περιεχομένων του φακέλου.
- Εγγραφή (write)
- Σε αρχεία: Επιτρέπει τη μεταβολή των περιεχομένων του αρχείου.
- Σε φακέλους: Επιτρέπει τη δημιουργία/ διαγραφή/ μετονομασία των περιεχομένων του φακέλου.
- Εκτέλεση (execution)
- Σε αρχεία: Επιτρέπει την εκτέλεση του αρχείου, εφόσον φυσικά αυτό είναι δυνατό.
- Σε φακέλους: Επιτρέπει την πρόσβαση στα περιεχόμενα του φακέλου.
Έτσι υπάρχουν συνολικά 9 δικαιώματα (3 κλάσεις με 3 δικαιώματα η κάθε μια) για κάθε αρχείο και φάκελο στο σύστημα αρχείων.
Είναι συνηθισμένο να εμφανίζονται τα παραπάνω 9 δικαιώματα με 3 αριθμητικά ψηφία που λαμβάνουν τιμές μεταξύ 0 και 7, ως εξής:
0 --- κανένα δικαίωμα 1 --x εκτέλεση 2 -w- εγγραφή 3 -wx εγγραφή και εκτέλεση 4 r-- ανάγνωση 5 r-x ανάγνωση και εκτέλεση 6 rw- ανάγνωση και εγγραφή 7 rwx ανάγνωση, εγγραφή και εκτέλεση
Παραδείγματα:
rw-r--r-- (644): ανάγνωση και εγγραφή για τον ιδιοκτήτη, ανάγνωση για όλους τους υπόλοιπους rwxr-xr-x (755): ανάγνωση, εγγραφή και εκτέλεση για τον ιδιοκτήτη, ανάγνωση και εκτέλεση για όλους τους υπόλοιπους r-------- (400): ανάγνωση για τον ιδιοκτήτη
⚠ | Τα αριθμητικά ψηφία (πχ 644) αναπαριστούν τα δικαιώματα για λόγους ευκολίας απεικόνισης. Δεν έχει νόημα να γίνει καμία αριθμητική πράξη με αυτά. |
Τα δικαιώματα των αρχείων και φακέλων μπορούν να εμφανιστούν με την εντολή:
ls -l
Τα δικαιώματα των αρχείων και φακέλων μπορούν να αλλαχτούν με την εντολή:
chmod <permission> <targets>
Ο ιδιοκτήτης ενός αρχείου ή φακέλου μπορεί να αλλάξει με την εντολή:
chown <user:group> <targets>
Τα νέα αρχεία που δημιουργεί ένας χρήστης λαμβάνουν εξ ορισμού κάποια δικαιώματα που ορίζονται με την εντολή:
umask