Εάν είστε χρήστης Linux ή webmaster που διαχειρίζεται τον δικό σας ιστότοπο (ο οποίος πιθανώς φιλοξενείται σε διακομιστή Linux), θα συναντήσετε σίγουρα μια κατάσταση όταν προσπαθείτε να ανεβάσετε ένα αρχείο ή να τροποποιήσετε ένα έγγραφο και να λάβετε το σφάλμα " You Do δεν έχουν τα δικαιώματα για τη μεταφόρτωση αρχείου στο φάκελο ". Και μετά από κάποιο googling, η λύση είναι συχνά τόσο εύκολη όσο ο καθορισμός της άδειας αρχείου σε "775" ή "777". Τι ακριβώς σημαίνει "777"; Και γιατί πρέπει να είναι '7' και όχι '8' ή '9';

Σχετικά : Πώς να μετονομάσετε αρχεία στο Linux

Κατανόηση των δικαιωμάτων αρχείων

Τα συστήματα Unix (συμπεριλαμβανομένων των Linux και Mac OS X) έρχονται με ένα μηχανισμό ελέγχου αρχείων για να καθορίσουν ποιος μπορεί να έχει πρόσβαση σε ένα συγκεκριμένο αρχείο ή φάκελο και ποιες ενέργειες μπορούν να κάνουν σε αυτό. Υπάρχουν δύο μέρη του μηχανισμού ελέγχου αρχείων, δηλαδή κλάσεις και δικαιώματα . Οι κλάσεις καθορίζουν ποιος μπορεί να έχει πρόσβαση στο αρχείο, ενώ οι Άδειες καθορίζουν το είδος της ενέργειας που μπορεί να κάνει ο χρήστης στο αρχείο.

Υπάρχουν τρεις κατηγορίες - ιδιοκτήτης, ομάδα, άλλοι.

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

Όσον αφορά τα δικαιώματα, υπάρχουν 3 τύποι ενεργειών που μπορείτε να εκτελέσετε σε ένα αρχείο / φάκελο. Μπορείτε είτε να διαβάσετε, να γράψετε ή να εκτελέσετε .

  • Διαβάστε - Μπορείτε να προβάλετε μόνο το αρχείο, αλλά δεν μπορείτε να τροποποιήσετε το περιεχόμενο του αρχείου. Όταν εφαρμοστεί σε Φάκελο, μπορείτε να προβάλετε μόνο τα αρχεία στο φάκελο, αλλά δεν μπορείτε να διαγράψετε ή να προσθέσετε αρχεία στο φάκελο.
  • Σύνταξη - Μπορείτε να επεξεργαστείτε και να τροποποιήσετε το αρχείο. Για τους φακέλους, μπορείτε να διαγράψετε και να προσθέσετε αρχεία στον φάκελο.
  • Execute - Execute χρησιμοποιείται κυρίως όταν χρειάζεται να εκτελέσετε το αρχείο (συνήθως χρησιμοποιείται όταν χρειάζεται να εκτελέσετε ένα σενάριο).

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

Για παράδειγμα, ο ιδιοκτήτης θα έχει συνήθως όλα τα δικαιώματα (ανάγνωση, εγγραφή και εκτέλεση) για πρόσβαση στο αρχείο. Εάν δεν είστε ο κάτοχος του αρχείου / φακέλου, πρέπει να αλλάξετε την ιδιότητα του αρχείου στο όνομά σας ή να αλλάξετε τα δικαιώματα ομάδας ή άλλων για να τα διαβάσετε, να γράψετε ή να εκτελέσετε. Σε έναν διακομιστή ιστού, εάν δεν μπορείτε να μεταφορτώσετε ένα αρχείο, πιθανόν να μην είστε ο κάτοχος του φακέλου προορισμού ή δεν έχετε λάβει επαρκή δικαιώματα για να προσθέσετε αρχεία στο φάκελο.

Τι γίνεται με τον αριθμό;

Με τη βασική κατανόηση των τάξεων και των αδειών, ας το βάλουμε πιο κοντά και να δούμε πώς θα προκύψουν τα "777" ή "775".

Κάθε αρχείο και φάκελος περιέχει δεδομένα 8-bit που ελέγχουν τα δικαιώματα. Στη βασική δυαδική μορφή του, θα είναι "000", πράγμα που σημαίνει ότι δεν χορηγούνται άδειες οποιασδήποτε μορφής. Όταν ορίσετε την άδεια "Ανάγνωση", θα προσθέσει στα δεδομένα 4-bit, καθιστώντας το "100" (σε δυαδική μορφή) ή ένα "4" με τη συνήθη δεκαδική μορφή. Ο καθορισμός μιας άδειας "εγγραφής" θα προσθέσει 2-bit στα δεδομένα, καθιστώντας το "010" και "2" σε δεκαδική μορφή. Τέλος, η ρύθμιση του "Execute" επιτρέπει την προσθήκη 1-bit στα δεδομένα, με αποτέλεσμα το "001" ή το "1" σε δεκαδική μορφή. Εν συντομία:

  • Η ανάγνωση είναι ισοδύναμη με το '4'.
  • Η εγγραφή ισοδυναμεί με '2'.
  • Εκτέλεση ισοδυναμεί με '1'

Όταν θέλουμε να ορίσουμε δικαιώματα, απλά προσθέτουμε τον αριθμό. Για παράδειγμα, για να ορίσετε τα δικαιώματα ανάγνωσης και εγγραφής, θα χρησιμοποιήσουμε το '6' (4 + 2) για την άδεια. Για ανάγνωση, εγγραφή και εκτέλεση, θα χρησιμοποιήσουμε το '7' (4 + 2 + 1) για την άδεια. Εδώ είναι η διαφορετική μετάθεση:

0 - καμία άδεια
1 - εκτέλεση
2 - γράψτε
3 - γράψτε και εκτελέστε
4 - διαβάστε
5 - να διαβάσετε και να εκτελέσετε
6 - διαβάστε και γράψτε
7 - να διαβάσετε, να γράψετε και να εκτελέσετε

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

Τι γίνεται με τα 3 ψηφία '777'; Λοιπόν, το πρώτο ψηφίο ανατίθεται στον κάτοχο, ο δεύτερος αριθμός ανατίθεται στον όμιλο και ο τρίτος αριθμός αποδίδεται στους άλλους. Έτσι, για ένα αρχείο με άδεια '777', ο καθένας μπορεί να διαβάσει, να γράψει και να εκτελέσει το αρχείο. Ακολουθούν ορισμένα από τα κοινώς χρησιμοποιούμενα δικαιώματα:

  • 755 - Αυτή η ομάδα δικαιωμάτων χρησιμοποιείται συνήθως στον εξυπηρετητή ιστού. Ο ιδιοκτήτης έχει όλα τα δικαιώματα για ανάγνωση, εγγραφή και εκτέλεση. Όλοι οι άλλοι μπορούν μόνο να διαβάσουν και να εκτελέσουν, αλλά δεν μπορούν να κάνουν αλλαγές στο αρχείο.
  • 777 - Ο καθένας μπορεί να διαβάσει γράψει και να εκτελέσει. Σε έναν διακομιστή ιστού, δεν είναι σκόπιμο να ορίσετε την άδεια '777' για τα αρχεία και τους φακέλους σας, καθώς επιτρέπει σε οποιονδήποτε να προσθέσει κακόβουλο κώδικα στον διακομιστή σας. Ωστόσο, σε ορισμένες περιπτώσεις, θα χρειαστεί να ορίσετε τα δικαιώματα 777 για να μπορέσετε να μεταφορτώσετε οποιοδήποτε αρχείο στο διακομιστή (Για παράδειγμα, μεταφορτώστε εικόνες στο WordPress)
  • 644 - Μόνο ο ιδιοκτήτης μπορεί να διαβάσει και να γράψει. Όλοι οι άλλοι μπορούν μόνο να διαβάσουν. Κανείς δεν μπορεί να εκτελέσει το αρχείο.
  • 655 - Μόνο ο κάτοχος μπορεί να διαβάσει και να γράψει, αλλά να μην εκτελέσει το αρχείο. Όλοι οι άλλοι μπορούν να διαβάσουν και να εκτελέσουν, αλλά δεν μπορούν να τροποποιήσουν το αρχείο.

Ρύθμιση δικαιωμάτων αρχείου στη γραμμή εντολών

Στο Linux, μπορείτε εύκολα να αλλάξετε τα δικαιώματα αρχείων κάνοντας δεξί κλικ στο αρχείο ή το φάκελο και επιλέξτε "Ιδιότητες". Θα υπάρχει μια καρτέλα Άδεια όπου μπορείτε να αλλάξετε τα δικαιώματα αρχείων. Στο τερματικό, η εντολή που χρησιμοποιείται για την αλλαγή της άδειας αρχείου είναι " chmod ". Με λίγα λόγια, το "chmod 777" σημαίνει ότι το αρχείο μπορεί να διαβαστεί, να εγγραφεί και να εκτελεστεί από όλους.

 chmod 775 / path / to / file 

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

Γίνετε επαγγελματίας στο Linux με αυτό το πακέτο

Το Linux είναι το go-to λειτουργικό σύστημα των προγραμματιστών και των υπολογιστών geeks εξαιτίας της τεράστια υπολογιστική δύναμη και την απίστευτη δυνατότητα προσαρμογής. Αλλά αυτό κάνει πολύ πιο δύσκολο να μάθετε τα σχοινιά του Linux, γι 'αυτό θα πρέπει να επενδύσετε στο πακέτο Linux Power User Bundle. Απαιρώντας απολύτως μηδενική προηγούμενη γνώση, αυτή η δέσμη μαθημάτων θα σας διδάξει από το έδαφος για να γίνει επαγγελματίας στο Linux. Για περιορισμένο χρονικό διάστημα, μπορεί να είναι δική σας για μόλις $ 19.