Δικαιώματα αρχείων σε Linux / Unix: Πώς να διαβάζετε, να γράφετε και να αλλάζετε
⚡ Έξυπνη Σύνοψη
Τα δικαιώματα αρχείων στο Linux και το Unix ελέγχουν ποιος μπορεί να διαβάσει, να γράψει και να εκτελέσει κάθε αρχείο, προστατεύοντας ένα σύστημα πολλαπλών χρηστών μέσω δύο επιπέδων: της ιδιοκτησίας, η οποία εκχωρεί έναν χρήστη, μια ομάδα και άλλους, και των bit δικαιωμάτων ανάγνωσης, εγγραφής και εκτέλεσης.

Δικαιώματα αρχείων σε Linux και το Unix αποφασίζουν ποιος μπορεί να διαβάσει, να τροποποιήσει ή να εκτελέσει κάθε αρχείο, γεγονός που διατηρεί ένα κοινόχρηστο σύστημα πολλαπλών χρηστών ασφαλές. Αυτή η σελίδα περιγράφει την ιδιοκτησία του αρχείου, τα δικαιώματα ανάγνωσης, εγγραφής και εκτέλεσης, καθώς και τις εντολές που τα αλλάζουν.
Το Linux είναι ένα κλώνος του Unix, του λειτουργικού συστήματος πολλαπλών χρηστών στο οποίο μπορούν να έχουν πρόσβαση πολλοί χρήστες ταυτόχρονα. Το Linux μπορεί επίσης να χρησιμοποιηθεί σε mainframes και διακομιστές χωρίς καμία τροποποίηση. Ωστόσο, αυτό εγείρει ανησυχίες σχετικά με την ασφάλεια, καθώς ένας ανεπιθύμητος ή κακόβουλος χρήστης μπορεί να καταστρέψει, να αλλάξει ή να αφαιρέσει κρίσιμα δεδομένα. Για αποτελεσματική ασφάλεια, το Linux διαιρεί την εξουσιοδότηση σε δύο επίπεδα:
- Ιδιοκτησία
- Άδεια
Η έννοια της άδειας και της ιδιοκτησίας αρχείων είναι κρίσιμη στο Linux. Εδώ, εξηγούμε τα δικαιώματα και την ιδιοκτησία του Linux και τα συζητάμε και τα δύο. Ας ξεκινήσουμε με την ιδιοκτησία.
Ιδιοκτησία αρχείων Linux
Σε κάθε αρχείο και κατάλογο στο σύστημα Unix/Linux σας έχουν αντιστοιχιστεί τρεις τύποι κατόχου, οι οποίοι δίνονται παρακάτω. Το παρακάτω διάγραμμα δείχνει πώς η ιδιοκτησία αντιστοιχίζεται στον χρήστη, την ομάδα και άλλους.
Χρήστες
Ένας χρήστης είναι ο κάτοχος του αρχείου. Από προεπιλογή, το άτομο που δημιούργησε ένα αρχείο γίνεται ο κάτοχός του. Ως εκ τούτου, ένας χρήστης ονομάζεται επίσης κάτοχος.
Group
A ομάδα χρηστών μπορεί να περιέχει πολλούς χρήστες. Όλοι οι χρήστες που ανήκουν σε μια ομάδα έχουν τα ίδια δικαιώματα ομάδας Linux στο αρχείο. Ας υποθέσουμε ότι έχετε ένα έργο στο οποίο πολλά άτομα χρειάζονται πρόσβαση σε ένα αρχείο. Αντί να εκχωρείτε μη αυτόματα δικαιώματα σε κάθε χρήστη, μπορείτε να προσθέσετε όλους τους χρήστες σε μια ομάδα και να εκχωρήσετε δικαιώματα ομάδας στο αρχείο, έτσι ώστε μόνο αυτά τα μέλη της ομάδας και κανένας άλλος να μπορεί να διαβάσει ή να τροποποιήσει τα αρχεία.
Άλλα
Οποιοσδήποτε άλλος χρήστης που έχει πρόσβαση σε ένα αρχείο. Αυτό το άτομο δεν έχει δημιουργήσει το αρχείο ούτε ανήκει σε κάποια ομάδα χρηστών που θα μπορούσε να κατέχει το αρχείο. Πρακτικά, αυτό σημαίνει ότι είναι όλοι οι άλλοι. Επομένως, όταν ορίζετε τα δικαιώματα για άλλους, αναφέρεται επίσης ως ορισμός δικαιωμάτων για τον κόσμο.
Τώρα προκύπτει το μεγάλο ερώτημα: πώς το Linux διακρίνει μεταξύ αυτών των τριών τύπων χρηστών, έτσι ώστε ένας χρήστης «Α» να μην μπορεί να επηρεάσει ένα αρχείο που περιέχει ζωτικές πληροφορίες ή δεδομένα κάποιου άλλου χρήστη «Β»; Είναι σαν να μην θέλεις έναν συνάδελφο που εργάζεται πάνω σου. Υπολογιστής Linux για να δείτε τις εικόνες σας. Εδώ μπαίνουν στο παιχνίδι τα δικαιώματα και καθορίζουν τη συμπεριφορά των χρηστών.
Ας κατανοήσουμε το σύστημα δικαιωμάτων στο Linux.
Δικαιώματα αρχείου Linux
Κάθε αρχείο και κατάλογος στο σύστημα Unix/Linux σας έχει τα ακόλουθα τρία δικαιώματα που έχουν οριστεί και για τους τρεις κατόχους που αναφέρθηκαν παραπάνω.
- Διαβάστε: Αυτό το δικαίωμα σάς δίνει την εξουσιοδότηση να ανοίγετε και να διαβάζετε ένα αρχείο. Το δικαίωμα ανάγνωσης σε έναν κατάλογο σάς δίνει τη δυνατότητα να παραθέσετε το περιεχόμενό του.
- Γράφω: Το δικαίωμα εγγραφής σάς δίνει την εξουσιοδότηση να τροποποιήσετε τα περιεχόμενα ενός αρχείου. Το δικαίωμα εγγραφής σε έναν κατάλογο σάς δίνει την εξουσιοδότηση να προσθέσετε, να καταργήσετε και να μετονομάσετε αρχεία που είναι αποθηκευμένα στον κατάλογο. Σκεφτείτε ένα σενάριο όπου έχετε δικαίωμα εγγραφής σε ένα αρχείο αλλά δεν έχετε δικαίωμα εγγραφής στον κατάλογο όπου είναι αποθηκευμένο το αρχείο. Θα μπορείτε να τροποποιήσετε τα περιεχόμενα του αρχείου, αλλά δεν θα μπορείτε να μετονομάσετε, να μετακινήσετε ή να καταργήσετε το αρχείο από τον κατάλογο.
- Εκτέλεση: In Windows, ένα εκτελέσιμο πρόγραμμα έχει συνήθως την επέκταση ".exe", την οποία μπορείτε εύκολα να εκτελέσετε. Σε Unix/Linux, δεν μπορείτε να εκτελέσετε ένα πρόγραμμα εκτός εάν έχετε ορίσει το δικαίωμα εκτέλεσης. Εάν δεν έχετε ορίσει το δικαίωμα εκτέλεσης, ενδέχεται να εξακολουθείτε να μπορείτε να δείτε ή να τροποποιήσετε τον κώδικα του προγράμματος (υπό την προϋπόθεση ότι έχουν οριστεί δικαιώματα ανάγνωσης και εγγραφής), αλλά όχι να τον εκτελέσετε.
Ας δούμε τα δικαιώματα αρχείων στο Linux με παραδείγματα. Εκτελώντας την εντολή ls -l στο τερματικό, έχουμε:
ls -l
Το παρακάτω στιγμιότυπο οθόνης δείχνει τη συμβολοσειρά δικαιωμάτων σε μια μεγάλη λίστα.
Εδώ, έχουμε επισημάνει το '-rw-rw-r–', και αυτός ο περίεργος κώδικας είναι αυτός που μας λέει για τα δικαιώματα Unix που έχουν δοθεί στον κάτοχο, την ομάδα χρηστών και τον κόσμο.
Εδώ, το πρώτο '-' υποδηλώνει ότι έχουμε επιλέξει ένα αρχείο. Το παρακάτω εικονίδιο υποδεικνύει ένα κανονικό αρχείο.
Διαφορετικά, αν ήταν κατάλογος, θα είχε εμφανιστεί ένα 'd', όπως στην παρακάτω λίστα.
Οι χαρακτήρες είναι αρκετά εύκολο να θυμηθούν.
- r = δικαίωμα ανάγνωσης
- w = δικαίωμα εγγραφής
- x = δικαίωμα εκτέλεσης
- – = χωρίς άδεια
Ας το δούμε ως εξής. Το πρώτο μέρος του κώδικα είναι το 'rw-'. Αυτό υποδηλώνει ότι ο κάτοχος 'Home' μπορεί:
- Διαβάστε το αρχείο
- Γράψτε ή επεξεργαστείτε το αρχείο
Ο κάτοχος δεν μπορεί να εκτελέσει το αρχείο, επειδή το bit εκτέλεσης έχει οριστεί σε '-'. Το παρακάτω εικονίδιο δείχνει ότι το bit εκτέλεσης έχει διαγραφεί σε παύλα.
Από τη σχεδίαση, πολλές διανομές Linux όπως το Fedora, το CentOS και το Ubuntu προσθέστε έναν χρήστη σε μια ομάδα με το ίδιο όνομα με τον χρήστη. Έτσι, ένας χρήστης 'tom' προστίθεται σε μια ομάδα με το όνομα 'tom'.
Το δεύτερο μέρος είναι το 'rw-'. Προορίζεται για την ομάδα χρηστών 'Home' και τα μέλη της ομάδας μπορούν:
- Διαβάστε το αρχείο
- Γράψτε ή επεξεργαστείτε το αρχείο
Το τρίτο μέρος αφορά τον κόσμο, που σημαίνει οποιονδήποτε χρήστη. Λέει 'r–'. Αυτό σημαίνει ότι ο χρήστης μπορεί μόνο να:
- Διαβάστε το αρχείο
Η παρακάτω ανάλυση αντιστοιχίζει κάθε μέρος της συμβολοσειράς δικαιωμάτων στον κάτοχο, την ομάδα και τον κόσμο.
Αλλαγή δικαιωμάτων αρχείων/καταλόγων στο Linux Χρησιμοποιώντας την εντολή 'chmod'
Ας υποθέσουμε ότι δεν θέλετε ένας συνάδελφος να βλέπει τις προσωπικές σας εικόνες. Αυτό μπορεί να επιτευχθεί αλλάζοντας τα δικαιώματα πρόσβασης στα αρχεία.
Μπορούμε να χρησιμοποιήσουμε το 'chmod' εντολή, το οποίο σημαίνει «αλλαγή λειτουργίας». Χρησιμοποιώντας την εντολή, μπορούμε να ορίσουμε δικαιώματα (ανάγνωση, εγγραφή, εκτέλεση) σε ένα αρχείο ή κατάλογο για τον κάτοχο, την ομάδα και τον κόσμο.
Σύνταξη:
chmod permissions filename
Υπάρχουν δύο τρόποι για να χρησιμοποιήσετε την εντολή:
- Απόλυτη λειτουργία
- Συμβολική λειτουργία
Απόλυτη (Αριθμητική) Λειτουργία στο Linux
Σε αυτήν τη λειτουργία, τα δικαιώματα αρχείων δεν αναπαρίστανται ως χαρακτήρες αλλά ως τριψήφιος οκταδικός αριθμός. Ο παρακάτω πίνακας παρέχει τους αριθμούς για όλους τους τύπους δικαιωμάτων.
| αριθμός | Τύπος άδειας | Σύμβολο |
|---|---|---|
| 0 | Χωρίς άδεια | - |
| 1 | Εκτέλεση | -Χ |
| 2 | Γράφω | -Σε- |
| 3 | Εκτέλεση + Εγγραφή | -wx |
| 4 | Διάβασε | r– |
| 5 | Ανάγνωση + Εκτέλεση | rx |
| 6 | Ανάγνωση + Γράψιμο | rw - |
| 7 | Ανάγνωση + Εγγραφή + Εκτέλεση | rwx |
Ας δούμε την εντολή chmod σε δράση, όπως φαίνεται στο παράθυρο τερματικού παρακάτω.
Στο παραπάνω παράθυρο τερματικού, αλλάξαμε τα δικαιώματα του αρχείου 'sample' σε '764'. Ο απόλυτος κώδικας '764' αναφέρει τα εξής:
- Ο κάτοχος μπορεί να διαβάσει, να γράψει και να εκτελέσει.
- Η ομάδα χρηστών μπορεί να διαβάζει και να γράφει.
- Ο κόσμος μόνο διαβάζει.
Αυτό εμφανίζεται ως '-rwxrw-r–', όπως στο παρακάτω αποτέλεσμα.
Έτσι μπορείτε να αλλάξετε τα δικαιώματα χρήστη στο Linux σε ένα αρχείο, αντιστοιχίζοντας έναν απόλυτο αριθμό.
Συμβολική λειτουργία στο Linux
Στην απόλυτη λειτουργία, αλλάζετε τα δικαιώματα και για τους τρεις κατόχους. Στη συμβολική λειτουργία, μπορείτε να τροποποιήσετε τα δικαιώματα ενός συγκεκριμένου κατόχου. Χρησιμοποιεί μαθηματικά σύμβολα για να τροποποιήσει τα δικαιώματα αρχείων Unix.
| OperaTor | Περιγραφή |
|---|---|
| + | Προσθέτει μια άδεια σε ένα αρχείο ή κατάλογο |
| - | Καταργεί την άδεια |
| = | Ορίζει το δικαίωμα και παρακάμπτει τα δικαιώματα που ορίστηκαν νωρίτερα |
Οι διάφοροι ιδιοκτήτες παρουσιάζονται ως εξής.
| Χρήστες | Σημειώσεις |
|---|---|
| u | χρήστη/ιδιοκτήτη |
| g | ομάδα |
| o | Άλλα |
| a | όλοι |
Δεν θα χρησιμοποιήσουμε δικαιώματα σε αριθμούς όπως 755 αλλά χαρακτήρες όπως rwx. Ας δούμε το παράδειγμα που φαίνεται παρακάτω.
Αλλαγή ιδιοκτησίας και ομάδας στο Linux
Για να αλλάξετε την ιδιοκτησία ενός αρχείου ή καταλόγου, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή:
chown user filename
Σε περίπτωση που θέλετε να αλλάξετε τον χρήστη καθώς και την ομάδα για ένα αρχείο ή κατάλογο, χρησιμοποιήστε την εντολή:
chown user:group filename
Ας το δούμε αυτό στην πράξη, όπως φαίνεται παρακάτω.
Σε περίπτωση που θέλετε να αλλάξετε μόνο τον κάτοχο της ομάδας, χρησιμοποιήστε την εντολή:
chgrp group_name filename
Το 'chgrp' σημαίνει change group. Το παρακάτω στιγμιότυπο οθόνης δείχνει την εντολή chgrp σε χρήση.
Άκρο
- Το αρχείο /etc/group περιέχει όλες τις ομάδες που έχουν οριστεί στο σύστημα.
- Μπορείτε να χρησιμοποιήσετε την εντολή "groups" για να βρείτε όλες τις ομάδες στις οποίες είστε μέλος, όπως φαίνεται παρακάτω.
- Μπορείτε να χρησιμοποιήσετε την εντολή newgrp για να εργαστείτε ως μέλος μιας ομάδας διαφορετικής από την προεπιλεγμένη ομάδα σας, όπως φαίνεται παρακάτω.
- Δεν μπορείτε να έχετε δύο ομάδες που κατέχουν το ίδιο αρχείο.
- Δεν έχετε ένθετες ομάδες στο Linux. Μια ομάδα δεν μπορεί να είναι υποομάδα μιας άλλης.
- x — η εκτέλεση ενός καταλόγου σημαίνει ότι σας επιτρέπεται να «εισέλθετε» σε έναν κατάλογο και να αποκτήσετε πιθανή πρόσβαση σε υποκαταλόγους.
- Υπάρχουν και άλλα δικαιώματα που μπορείτε να ορίσετε σε αρχεία και καταλόγους, τα οποία θα καλυφθούν σε ένα μεταγενέστερο προχωρημένο σεμινάριο.






.png)
.png)
.png)
.png)
.png)


