Επεξήγηση των δικαιωμάτων αρχείων και καταλόγου Linux

Το Linux είναι ένα λειτουργικό σύστημα πολλών χρηστών, επομένως, πολλοί χρήστες μπορούν να αλληλεπιδρούν με τον ίδιο υπολογιστή ταυτόχρονα χρησιμοποιώντας το Linux. Ως λειτουργικό σύστημα πολλών χρηστών, είναι σημαντικό για το Linux να εγγυάται την ασφάλεια και το απόρρητο των αρχείων που ανήκουν σε διαφορετικούς χρήστες.

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

Ως χρήστης Linux, είναι σημαντικό να κατανοήσετε πώς το Linux χειρίζεται τα δικαιώματα αρχείων και καταλόγου και πώς μπορείτε να εργαστείτε με τα διάφορα διαθέσιμα δικαιώματα για να προστατεύσετε τα αρχεία σας και να εγγυηθείτε τη λειτουργικότητα του υπολογιστή σας. Για να κατανοήσουμε πώς το Linux διαχειρίζεται τα δικαιώματα αρχείων και καταλόγων, ας δούμε πρώτα τις διαφορετικές κατηγορίες χρηστών σε ένα λειτουργικό σύστημα Linux.

Κατηγορία χρηστών στο Linux

Η πρώτη κατηγορία χρηστών είναι κάτοχοι ενός αρχείου ή ενός καταλόγου. Κάθε αρχείο ή κατάλογος στο Linux έχει έναν ιδιοκτήτη. Σε αυτόν τον κάτοχο συνήθως παραχωρούνται περισσότερα δικαιώματα για το αρχείο ή τον κατάλογό του. Ο κάτοχος ενός αρχείου συνήθως υποδεικνύεται με το γράμμα u για χρήστη.

Στο Linux, πολλοί χρήστες μπορούν να τοποθετηθούν σε μια ομάδα και να τους δοθούν δικαιώματα για αρχεία ως ομάδα. Αυτοί είναι γνωστοί ως ιδιοκτήτες ομάδων και αντιπροσωπεύονται από το γράμμα g.

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

Η άλλη κατηγορία χρηστών είναι γνωστή ως άλλοι και αντιπροσωπεύεται από το γράμμα o. Αυτοί είναι χρήστες που δεν κατέχουν το αρχείο και επίσης δεν αποτελούν μέρος μιας ομάδας με δικαιώματα για το αρχείο. Το Other αντιπροσωπεύει όλους τους άλλους στο σύστημα.

Όλοι οι χρήστες σε έναν υπολογιστή, δηλαδή κάτοχοι αρχείων, χρήστες σε ομάδες και άλλοι χρήστες μπορούν να καθορίσουν χρησιμοποιώντας το γράμμα a.

Δημιουργήστε και προσθέστε έναν νέο χρήστη στο Ubuntu Linux

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

1. Ανοίξτε τις Ρυθμίσεις και στην αριστερή γραμμή μενού, κάντε κλικ στο Χρήστης, στη συνέχεια κάντε κλικ στο Ξεκλείδωμα και δώστε τον κωδικό πρόσβασής σας όταν σας ζητηθεί. Πρέπει να κάνετε κλικ στο Ξεκλείδωμα για να μπορείτε να προσθέσετε έναν νέο χρήστη. Από προεπιλογή, αυτή η λειτουργία είναι κλειδωμένη.

2. Μόλις ξεκλειδωθεί, θα δείτε μια επιλογή Προσθήκη χρήστη, κάντε κλικ σε αυτήν για να προσθέσετε έναν νέο χρήστη

3. Για να δημιουργήσετε έναν νέο χρήστη, δώστε το πλήρες όνομά του και το όνομα χρήστη, επιλέξτε Ορισμός κωδικού πρόσβασης τώρα και ορίστε τον κωδικό πρόσβασής του. Επιπλέον, βεβαιωθείτε ότι ο τύπος λογαριασμού έχει οριστεί σε Διαχειριστής και, στη συνέχεια, κάντε κλικ στο Προσθήκη για να προσθέσετε έναν χρήστη.

4. Θα πρέπει να δείτε έναν νέο λογαριασμό χρήστη που μόλις δημιουργήσατε να εμφανίζεται όπως φαίνεται παρακάτω.

  Πώς να δημιουργήσετε αντίγραφα ασφαλείας των ρυθμίσεων επιφάνειας εργασίας XFCE4 σε Linux

Δικαιώματα αρχείων και καταλόγου Linux

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

  • Read(r) – επιτρέπει σε έναν χρήστη να προβάλλει τα περιεχόμενα ενός αρχείου και να παραθέτει τα περιεχόμενα ενός καταλόγου
  • Write(w) – επιτρέπει σε έναν χρήστη να τροποποιήσει το περιεχόμενο ενός αρχείου. Με τους καταλόγους, τα δικαιώματα εγγραφής επιτρέπουν στον χρήστη να τροποποιεί το περιεχόμενο ενός καταλόγου, όπως δημιουργία, διαγραφή, μετονομασία ή μετακίνηση αρχείων και υποκαταλόγων στον κατάλογο. Ωστόσο, τα δικαιώματα εγγραφής με καταλόγους λειτουργούν μόνο εάν ο χρήστης έχει επίσης δικαιώματα εκτέλεσης.
  • Execute(x) – Δικαιώματα εκτέλεσης σημαίνει ότι ένα αρχείο μπορεί να αντιμετωπιστεί ως πρόγραμμα που μπορεί να εκτελεστεί. Με τους καταλόγους, το δικαίωμα εκτέλεσης επιτρέπει στον χρήστη να εισάγει ή να «cd» στον κατάλογο.
  • Τα δικαιώματα ανάγνωσης, εγγραφής και εκτέλεσης εκχωρούνται στις τρεις κατηγορίες χρηστών που είναι διαθέσιμες στο Linux.

    Μπορείτε επίσης να διαβάσετε πώς να αφαιρέσετε αρχεία και καταλόγους στο Linux

    Long Listing στο Linux

    Για να προβάλουμε τα περιεχόμενα ενός αρχείου σε έναν κατάλογο Linux, συνήθως εκτελούμε την εντολή ls. Ωστόσο, αυτό παραθέτει μόνο τα διαθέσιμα αρχεία και καταλόγους και δεν παρέχει πρόσθετες πληροφορίες.

    Για να δείτε περισσότερες πληροφορίες σχετικά με τα περιεχόμενα, πρέπει να χρησιμοποιήσετε τη μορφή μεγάλης καταχώρισης. Για να το κάνετε αυτό, εκτελέστε την εντολή ls με τη σημαία -l. Αυτό θα σας δώσει τα δικαιώματα αρχείου, τους κατόχους ενός αρχείου και τους κατόχους ομάδων σε ένα αρχείο όπως φαίνεται παρακάτω:

    Στο Ubuntu, από προεπιλογή, εάν δεν έχει δημιουργηθεί ομάδα, το όνομα της ομάδας είναι το ίδιο με τον κάτοχο του αρχείου.

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

    sudo addgroup editors

    Το sudo μας επιτρέπει να εκτελούμε εντολές ως χρήστης root, ο οποίος είναι ένας σούπερ χρήστης με δικαιώματα να εκτελεί αλλαγές που επηρεάζουν όλους τους χρήστες του υπολογιστή.

    Για να προσθέσουμε χρήστες σε μια ομάδα χρησιμοποιούμε την ακόλουθη σύνταξη:

    adduser <user> <group>

    Επομένως, για να προσθέσουμε και belmont και madici στην ομάδα συντακτών, εκτελούμε

    sudo adduser belmont editors
    sudo adduser madici editors

    Για να δείτε τις ομάδες στις οποίες ανήκει ένας χρήστης, εκτελέστε:

    groups <username>

    Το αποτέλεσμα των παραπάνω εντολών φαίνεται παρακάτω:

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

    Ιδιότητες αρχείων στο Linux

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

    • Το d υποδηλώνει έναν κατάλογο
    • – υποδεικνύει ένα κανονικό αρχείο, π.χ. αρχεία κειμένου
    • c υποδηλώνει ένα ειδικό αρχείο χαρακτήρων
    • Το l υποδηλώνει έναν συμβολικό σύνδεσμο
    • Το b υποδεικνύει ένα ειδικό αρχείο μπλοκ

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

    Τα δικαιώματα, για κάθε κατηγορία υποδεικνύονται ξεκινώντας από το δικαίωμα ανάγνωσης, μετά εγγραφής και τέλος το δικαίωμα εκτέλεσης. Η άδεια ανάγνωσης υποδεικνύεται με το γράμμα r, η άδεια εγγραφής με το γράμμα w και η άδεια εκτέλεσης με το γράμμα x.

      3 καλύτεροι τρόποι για να βρείτε αρχεία και φακέλους με το τερματικό Linux

    Το σύμβολο – χρησιμοποιείται σε περίπτωση που ένας χρήστης δεν έχει συγκεκριμένη άδεια. Για παράδειγμα, το rw- για τον ιδιοκτήτη της ομάδας σημαίνει ότι έχει δικαιώματα ανάγνωσης και εγγραφής, αλλά δεν έχει το δικαίωμα εκτέλεσης σε αυτόν τον κατάλογο(d).

    Αλλαγή δικαιωμάτων αρχείων με χρήση συμβολικής σημειογραφίας

    Για να αλλάξουμε τα δικαιώματα σε ένα αρχείο ή κατάλογο, χρησιμοποιούμε την εντολή chmod και καθορίζουμε για ποιον αλλάζουμε τα δικαιώματα.

    Αυτός μπορεί να είναι ο κάτοχος του αρχείου που αντιπροσωπεύεται από το γράμμα u για τον χρήστη, ο κάτοχος της ομάδας που αντιπροσωπεύεται από το γράμμα g ή άλλοι χρήστες που αντιπροσωπεύονται από το γράμμα o. Μπορούμε επίσης να στοχεύσουμε και τις τρεις κατηγορίες χρηστών χρησιμοποιώντας το γράμμα a, που σημαίνει όλα τα παραπάνω.

    Το επόμενο πράγμα που διευκρινίζουμε είναι η αλλαγή που κάνουμε. Για να προσθέσουμε μια άδεια χρησιμοποιούμε +(σύμβολο συν). Για να αφαιρέσουμε μια άδεια χρησιμοποιούμε – (σύμβολο πλην). Το τελευταίο πράγμα που παρέχουμε είναι τα δικαιώματα που προσθέτουμε χρησιμοποιώντας r,w ή x για να αντιπροσωπεύσουμε τα τρία διαθέσιμα δικαιώματα.

    Για να το δείτε σε δράση, δημιουργήστε έναν κατάλογο που ονομάζεται βιβλία χρησιμοποιώντας την παρακάτω εντολή

    mkdir books

    Πληκτρολογήστε ή «cd» στον κατάλογο:

    cd books

    Δημιουργήστε ένα αρχείο που ονομάζεται readingList.txt

    touch readingList.txt

    Εκτενής λίστα με το περιεχόμενο του καταλόγου βιβλίων εκτελώντας:

    ls -l

    Η έξοδος είναι όπως φαίνεται:

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

    chmod o+w readingList.txt

    Για να δείτε αν έχουν αλλάξει τα δικαιώματα για άλλους χρήστες, εκτελέστε το

    ls -l

    Παραγωγή:

    Σημειώστε ότι η άδεια αρχείων άλλων χρηστών έχει αλλάξει από r– σε rw- που σημαίνει ότι έχουν πλέον άδεια εγγραφής.

    Για να προσθέσετε δικαιώματα εκτέλεσης στον κάτοχο(χρήστη) του αρχείου, εκτελέστε:

    chmod u+x readingList.txt

    Για να καταργήσετε τα δικαιώματα εγγραφής από τους κατόχους της ομάδας, εκτελέστε:

    chmod g-w readingList.txt

    Για να αφαιρέσετε τα δικαιώματα ανάγνωσης από όλους τους χρήστες, ώστε να μην μπορεί κανείς να δει το αρχείο, εκτελέστε:

    chmod a-r readingList.txt

    Για να προσθέσετε ξανά άδεια ανάγνωσης για τον κάτοχο του αρχείου, εκτελέστε:

    chmod u+r readingList.txt

    Για να προσθέσετε δικαιώματα εγγραφής και εκτέλεσης στον κάτοχο ομάδας του αρχείου, εκτελέστε:

    chomod g+wx readingList.txt

    Αλλαγή δικαιωμάτων με χρήση του οκταδικού συμβολισμού

    Στο Linux, καθένα από τα τρία διαθέσιμα δικαιώματα έχει μόνο δύο πιθανές τιμές. Το δικαίωμα ανάγνωσης μπορεί να είναι μόνο r ή – , το δικαίωμα εγγραφής μπορεί να είναι μόνο w ή – και το δικαίωμα εκτέλεσης μπορεί να είναι μόνο x ή –.

    Επομένως, αυτά τα δικαιώματα μπορεί να θεωρηθεί ότι είναι είτε ενεργοποιημένα είτε απενεργοποιημένα και, ως εκ τούτου, αναπαρίστανται χρησιμοποιώντας δυαδικούς αριθμούς, οι οποίοι έχουν μόνο δύο διαθέσιμες τιμές. Αυτό είναι 1 για ενεργό ή αληθές και 0 για ανενεργό ή ψευδές. Εκεί, μια άδεια όπως το rw– μπορεί να αναπαρασταθεί ως 110 χρησιμοποιώντας δυαδικούς αριθμούς.

    Επομένως, για κάθε δεδομένη κατηγορία χρηστών, τρεις δυαδικοί αριθμοί είναι αρκετοί για να παρουσιάσουν όλα τα δικαιώματα τους. Για παράδειγμα, η άδεια για τον ιδιοκτήτη, την ομάδα και άλλα rwxrw-r– μπορεί να αναπαρασταθεί ως 111110100 χρησιμοποιώντας έναν δυαδικό αριθμό.

      Πώς να αποθηκεύσετε DVD και Blu-ray στον υπολογιστή σας Linux

    Ωστόσο, για να αποφευχθεί η εγγραφή δυαδικού αριθμού, ο οποίος είναι μεγάλος και προκαλεί σύγχυση, μια καλύτερη εναλλακτική είναι η χρήση οκταδικών αριθμών.

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

    Επομένως, ένα δικαίωμα όπως το rw- μπορεί να αναπαρασταθεί ως 110 σε δυαδικό. Το οκταδικό ισοδύναμο του 110 είναι 6, και έτσι το 6 μπορεί να χρησιμοποιηθεί για να αναπαραστήσει το rw-. Οι οκταδικοί αριθμοί μπορούν να χρησιμοποιηθούν για να αναπαραστήσουν τα δικαιώματα ανάγνωσης, εγγραφής και εκτέλεσης του κατόχου, της ομάδας και άλλων, όπως φαίνεται παρακάτω:

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

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

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

    Για να δώσετε σε όλους τους χρήστες, δηλαδή στον κάτοχο, στον ιδιοκτήτη της ομάδας και σε άλλους χρήστες, άδεια ανάγνωσης, εγγραφής και εκτέλεσης για το readingList.txt, εκτελέστε:

    chmod 777 readingList.txt

    Για να ελέγξετε εάν έχουν αλλάξει τα δικαιώματα, εκτελέστε:

    ls -l

    Παραγωγή:

    total 0
    -rwxrwxrwx 1 madici madici 0 Sep  6 05:45 readingList.txt

    Σημειώστε ότι τώρα ο κάτοχος, η ομάδα και άλλοι χρήστες έχουν άδεια ανάγνωσης, εγγραφής και εκτέλεσης readingList.txt.

    Για να καταργήσετε τα δικαιώματα εγγραφής τόσο από τον κάτοχο της ομάδας όσο και από άλλους, εκτελέστε:

    chmod 755 readingList.txt

    Για να αφαιρέσετε την άδεια εκτέλεσης από τον κάτοχο και άλλοι εκτελούν:

    chmod 654 readingList.txt

    Ειδικά δικαιώματα στο Linux

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

    Οι ειδικές άδειες περιλαμβάνουν:

    • Ορισμός User ID (SUID) – το δικαίωμα SUID επιτρέπει σε έναν χρήστη να εκτελέσει ένα αρχείο ή πρόγραμμα με τα δικαιώματα του κατόχου του και όχι του χρήστη που το εκτελεί. Αυτό είναι χρήσιμο όταν οι τυπικοί χρήστες πρέπει να εκτελούν εργασίες που απαιτούν αυξημένα προνόμια.
    • Ορισμός αναγνωριστικού ομάδας (SGID) – το δικαίωμα SGID επιτρέπει σε έναν χρήστη να εκτελέσει ένα αρχείο με τα δικαιώματα του κατόχου ομάδας του αρχείου, αντί για τα δικαιώματα της πραγματικής του ομάδας.
    • Sticky Bit – Το sticky bit είναι άδεια που συνήθως ορίζεται σε καταλόγους για να διασφαλιστεί ότι τα αρχεία στον κατάλογο μπορούν να διαγραφούν μόνο από τον πραγματικό κάτοχο του καταλόγου, τον κάτοχο του συγκεκριμένου αρχείου ή τον χρήστη root.

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

    συμπέρασμα

    Τα δικαιώματα είναι μια σημαντική έννοια στο Linux, ακόμα κι αν ο υπολογιστής σας δεν έχει πολλούς χρήστες. Η κατανόηση της άδειας είναι σημαντική για τη διασφάλιση του ελέγχου, της ασφάλειας και του απορρήτου των δεδομένων που είναι αποθηκευμένα σε ένα σύστημα Linux και της λειτουργικότητάς του. Επομένως, εξετάστε το ενδεχόμενο να εξοικειωθείτε με τις άδειες εξασκώντας αυτά που μάθατε για τα δικαιώματα σε αυτό το άρθρο.

    Μπορείτε επίσης να εξερευνήσετε πώς να χρησιμοποιείτε εντολές Linux στα Windows.