4Jul

Πώς λειτουργούν τα δικαιώματα αρχείων Linux;

Εάν χρησιμοποιείτε το Linux για κάποιο χρονικό διάστημα( και ακόμη και το OS X), πιθανότατα θα συναντήσατε ένα λάθος "permissions".Αλλά τι ακριβώς είναι και γιατί είναι απαραίτητα ή χρήσιμα;Ας πάρουμε μια εσωτερική ματιά.

Δικαιώματα χρήστη

Επιστροφή στην ημέρα, οι υπολογιστές ήταν τεράστιες μηχανές που ήταν εξαιρετικά ακριβές.Για να αξιοποιήσουν στο έπακρο τα πλεονεκτήματα τους, συνδέθηκαν πολλοί τερματικοί υπολογιστές που επέτρεψαν σε πολλούς χρήστες να προχωρήσουν ταυτόχρονα στην επιχείρησή τους.Η επεξεργασία και αποθήκευση δεδομένων έγινε στο μηχάνημα, ενώ οι ίδιοι οι τερματικοί σταθμοί ήταν κάτι περισσότερο από ένα μέσο προβολής και εισαγωγής δεδομένων.Αν το σκεφτείτε, είναι λίγο πώς θα έχουμε πρόσβαση στα δεδομένα σχετικά με το "σύννεφο".κοιτάξτε το σύστημα Cloud MP3 του Amazon, το Gmail και το Dropbox και θα παρατηρήσετε ότι ενώ οι αλλαγές μπορούν να γίνουν τοπικά, τα πάντα αποθηκεύονται εξ αποστάσεως.

( Εικόνα: τερματικό Zenith Z-19 "χαζή", πίστωση: ajmexico)

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

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

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

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

Αλλαγή δικαιωμάτων στο Ubuntu

GUI

Για να αλλάξετε τα δικαιώματα ενός αρχείου που κατέχετε στο Ubuntu, απλώς κάντε δεξί κλικ στο αρχείο και μεταβείτε στο "Ιδιότητες".

Μπορείτε να αλλάξετε αν ο Ιδιοκτήτης, η Ομάδα ή άλλοι μπορούν να διαβάσουν και να γράψουν,να διαβάσετε μόνο, ή να μην κάνετε τίποτα.Μπορείτε επίσης να ελέγξετε ένα πλαίσιο για να επιτρέψετε την εκτέλεση του αρχείου και αυτό θα το ενεργοποιήσει ταυτόχρονα για τον ιδιοκτήτη, την ομάδα και άλλους.

Γραμμή εντολών

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

ls -al

Δίπλα σε κάθε αρχείο και κατάλογο, θα δείτε μια ειδική ενότητα που περιγράφει τα δικαιώματα που έχει.Μοιάζει με αυτό:

-rwxrw-r-

Το r σημαίνει "read", το w σημαίνει "write" και το x σημαίνει "εκτέλεση". Οι κατάλογοι θα ξεκινούν με "d "αντί για" - ".Θα παρατηρήσετε επίσης ότι υπάρχουν 10 χώροι που έχουν αξία.Μπορείτε να αγνοήσετε το πρώτο και στη συνέχεια υπάρχουν 3 σετ 3. Το πρώτο σετ είναι για τον ιδιοκτήτη, το δεύτερο σετ για την ομάδα και το τελευταίο σετ για τον κόσμο.

Για να αλλάξετε τα δικαιώματα ενός αρχείου ή καταλόγου, ας δούμε τη βασική μορφή της εντολής chmod.

chmod [class] [χειριστής] [άδεια] αρχείο

chmod [ugoa] [+ ή -] [rwx] αρχείο

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

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

Στη συνέχεια, οι χειριστές:

  • +: Το σύμβολο συν θα προσθέσει τα δικαιώματα που ακολουθούν.
  • -: Το σύμβολο μείον θα αφαιρέσει τα δικαιώματα που ακολουθούν.

Ακόμη μαζί μου;Και η τελευταία ενότητα είναι η ίδια όπως και όταν ελέγξαμε τα δικαιώματα ενός αρχείου:

  • r: Επιτρέπει πρόσβαση ανάγνωσης.
  • w: Επιτρέπει πρόσβαση εγγραφής.
  • x: Επιτρέπει την εκτέλεση.

Τώρα, ας τα βάλουμε μαζί.Ας υποθέσουμε ότι έχουμε ένα αρχείο με όνομα "todo.txt" που έχει τα ακόλουθα δικαιώματα:

-rw-rw-r-

Δηλαδή, ο ιδιοκτήτης και η ομάδα μπορούν να διαβάσουν και να γράψουν και ο κόσμος μπορεί μόνο να διαβάσει.Θέλουμε να αλλάξουμε τα δικαιώματα σε αυτά:

-rwxr--

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

chmod u + x todo.txt

Στη συνέχεια, θα καταργήσουμε την άδεια εγγραφής για την ομάδα.

chmod g-w todo.txt

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

chmod o-r todo.txt

Μπορούμε επίσης να τα συνδυάσουμε σε μία εντολή, όπως π.χ.:

chmod u + x, g-w, o-r todo.txt

Μπορείτε να δείτε ότι κάθε τμήμα χωρίζεται με κόμματα και δεν υπάρχουν κενά.

Εδώ είναι μερικά χρήσιμα δικαιώματα:

  • -rwxr-xr-x: Ο κάτοχος έχει πλήρη δικαιώματα, ομάδα και άλλοι χρήστες μπορούν να διαβάσουν τα περιεχόμενα του αρχείου και να εκτελέσουν.
  • -rwxr-r-: Ο ιδιοκτήτης έχει πλήρη δικαιώματα, ομάδα και άλλοι χρήστες μπορούν μόνο να διαβάσουν το αρχείο( χρήσιμο αν δεν σας πειράζει οι άλλοι που βλέπουν τα αρχεία σας.)
  • -rwx--: Ο ιδιοκτήτης έχει πλήρη δικαιώματα,για προσωπικές δέσμες ενεργειών)
  • -rw-rw--: Ο ιδιοκτήτης και η ομάδα μπορούν να διαβάσουν και να γράψουν( χρήσιμοι για συνεργασία με μέλη της ομάδας)
  • -rw-r-r-: Ο ιδιοκτήτης μπορεί να διαβάζει και να γράφει,(χρήσιμο για την αποθήκευση προσωπικών αρχείων σε ένα κοινόχρηστο δίκτυο)
  • -rw ---: Ο ιδιοκτήτης μπορεί να διαβάσει και να γράψει, όλοι οι άλλοι δεν έχουν κανένα( χρήσιμο για την αποθήκευση προσωπικών αρχείων)

Υπάρχουν μερικά άλλα πράγματα που μπορείτε να κάνετε μεchmod - όπως setuid και setgid - αλλά είναι λίγο σε βάθος και οι περισσότεροι χρήστες δεν θα χρειαστεί να τους χρησιμοποιήσουν ούτως ή άλλως

Τα αρχεία root ή Super-User και System

Σήμερα, δεν τρέχουμε πάντα συστήματα πουΓιατί θα πρέπει να ανησυχούμε για τις άδειες;

Λοιπόν, το Unix και τοτα παράγωγά του - το Linux, το OS X, μεταξύ άλλων - διακρίνουν επίσης τα πράγματα που διαχειρίζεται ο χρήστης, τα πράγματα που διαχειρίζεται ένας διαχειριστής ή με δικαιώματα διαχειριστή και πράγματα που εκτελούνται από το ίδιο το σύστημα.Ως εκ τούτου, τα πράγματα που είναι αναπόσπαστα για το σύστημα χρειάζονται δικαιώματα διαχειριστή για να αλλάξουν ή να έχουν πρόσβαση.Με αυτόν τον τρόπο, δεν βλάπτετε τίποτα τυχαία.

Στο Ubuntu, για να κάνετε αλλαγές στα αρχεία συστήματος χρησιμοποιείτε το "sudo" ή το "gksudo" για να αποκτήσετε το ισοδύναμο των δικαιωμάτων διαχειριστή.Σε άλλες διανομές, μεταβείτε στο "root" ή στο "super-user", το οποίο κάνει το ίδιο πράγμα μέχρι να αποσυνδεθείτε.

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

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

Σκεφτείτε ότι μπορείτε να εξηγήσετε τα πράγματα ευκολότερα;Έχετε μια διόρθωση;Θέλεις να θυμάσαι τις παλιές μέρες;Κάντε ένα διάλειμμα και βάλτε τις σκέψεις σας στα σχόλια.