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