Ροή

Οδηγός: Τι σημαίνει το Chmod 777 στο Linux: Εξήγηση μοντέλου δικαιωμάτων αρχείων

techne

Administrator
Joined
27 May 2010
Μηνύματα
1,157
Βαθμολογία
24
Points
38
Website
www.eltube.gr
Η εντολή chmod 777 προτείνεται συχνά ως η λύση για τη γρήγορη επίλυση προβλημάτων αδειών κατά τη διαχείριση διακομιστών ιστού στο Linux. Τώρα, ίσως αναρωτιέστε τι σημαίνει το chmod 777 στο Linux; Λοιπόν, για να σας δώσει ένα βασικό primer, παραχωρεί όλα τα δικαιώματα, συμπεριλαμβανομένων των ευαίσθητων, σε ένα αρχείο ή κατάλογο. Τούτου λεχθέντος, υπάρχουν περισσότερα σε αυτό, επομένως συνιστούμε να διαβάσετε τα πάντα σχετικά με την εντολή chmod 777 ακριβώς παρακάτω.

Εντολή Chmod 777 σε Linux (Εξήγηση)

Σε αυτό το άρθρο, έχουμε αναλυτικά τι σημαίνει το chmod 777 στο Linux και αν πρέπει να το χρησιμοποιήσετε ή όχι. Αλλά πριν από αυτό, έχουμε εξηγήσει το μοντέλο άδειας αρχείου στο Linux. Ας ξεκινήσουμε λοιπόν.

Πώς λειτουργεί η άδεια αρχείου στο Linux;

Πριν κατανοήσουμε την chmod 777εντολή, ας πάρουμε πρώτα μια βασική ιδέα για το πώς λειτουργεί το μοντέλο άδειας αρχείου στο Linux. Η πρόσβαση σε αρχεία και καταλόγους στο Linux δεν είναι διαθέσιμη σε όλους. Χωρίζονται με βάση την ιδιοκτησία και τα χαρακτηριστικά. Υπάρχουν τρεις ξεχωριστές κατηγορίες χρηστών που μπορούν να έχουν πρόσβαση στο σύστημα αρχείων και είναι οι εξής:

  • Ιδιοκτήτης - Owner
  • Ομάδα - Group
  • Υπόλοιποι - Others

Εδώ, ο "Κάτοχος" αφορά τον κάτοχο του αρχείου που δημιούργησε το αρχείο/κατάλογο. Το "Group" αναφέρεται σε ένα σύνολο μελών και το "Others" είναι όλοι οι άλλοι που έχουν πρόσβαση στο σύστημα. Κάθε μία από αυτές τις κλάσεις έχει ένα διαφορετικό σύνολο χαρακτηριστικών δικαιωμάτων. Υπάρχουν πάλι τρεις τύποι αδειών: ανάγνωση (r), εγγραφή (w) και εκτέλεση (x).

  • Read (r) – Ο χρήστης μπορεί μόνο να διαβάσει ή να δει το αρχείο/κατάλογο. Δεν μπορούν να κάνουν αλλαγές στο αρχείο.
  • Write (w) – Ο χρήστης μπορεί να τροποποιήσει το αρχείο ή τον κατάλογο. Μπορείτε να διαγράψετε, να μετακινήσετε, να μετονομάσετε ή να κάνετε οποιεσδήποτε αλλαγές στο αρχείο ή τον κατάλογο.
  • Execute (x) – Ο χρήστης μπορεί να εκτελέσει το σενάριο ή να κάνει ένα αρχείο εκτελέσιμο.

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

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

Δικαιώματα αρχείων στο Linux: Σύστημα αριθμητικών τιμών

Στα συστήματα Linux, τα δικαιώματα ανάγνωσης, εγγραφής και εκτέλεσης υποδηλώνονται με τον ακόλουθο τρόπο. Οι αριθμητικές τιμές για αυτά τα δικαιώματα προέρχονται από τα δυαδικά δεδομένα 8-bit τους, αλλά δεν θα υπεισέλθουμε σε πάρα πολλές λεπτομέρειες για να διατηρήσουμε τον οδηγό εύκολο στην κατανόηση.

Read (r) – 4
Write (w) – 2
Execute (x) – 1
No permission - 0

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

Value - ΑξίαPermission - ΔικαιώματαNotation - Σημειογραφία
0 (0+0+0)No Permission---
1 (0+0+1)Only execute--x
2 (0+2+0)Only write-w-
3 (0+2+1)Write and execute-wx
4 (4+0+0)Only readr--
5 (4+0+1)Read and executer-x
6 (4+2+0)Read and writerw-
7 (4+2+Read, write, and executerwx

Όπως καταλαβαίνετε από τον παραπάνω πίνακα, η τιμή 7 υποδηλώνει συνδυασμό rwx αδειών . Έτσι, εάν ένα αρχείο ή κατάλογος έχει λάβει άδεια με την τιμή 7, έχει και τα τρία δικαιώματα - ανάγνωση, εγγραφή και εκτέλεση. Τι σημαίνει όμως τρία 777 στην εντολή Chmod; Λοιπόν, μεταβείτε στην επόμενη ενότητα για να κατανοήσετε τι σημαίνει το Chmod 777 στο Linux.

Τι σημαίνει η άδεια Chmod 777;

Ένα τελευταίο πράγμα που πρέπει να γνωρίζετε πριν προχωρήσετε είναι ότι αυτοί οι αριθμοί υποδηλώνουν το πλήρες σύνολο των δικαιωμάτων αρχείων/καταλόγου. Εδώ, το πρώτο ψηφίο αναφέρεται στον Ιδιοκτήτη, το δεύτερο ψηφίο αναφέρεται στην Ομάδα και το τρίτο στους Άλλους. Το έχουμε εξηγήσει με το παράδειγμα της εντολής chmod 777 παρακάτω.

Chmod ουσιαστικά σημαίνει «αλλαγή της λειτουργίας» του αρχείου ή του καταλόγου. Και όταν λέω 777, το πρώτο ψηφίο (7 σε αυτήν την περίπτωση) αναφέρεται στην άδεια του ιδιοκτήτη . Το δεύτερο ψηφίο (και πάλι, 7) αναφέρεται στην άδεια της Ομάδας και το τρίτο ψηφίο (επίσης, 7) υποδεικνύει την τιμή άδειας για άλλους χρήστες. Συνοψίζοντας, το 777 σημαίνει ότι το αρχείο/κατάλογος έχει δικαιώματα ανάγνωσης, εγγραφής και εκτέλεσης και για τις τρεις κατηγορίες χρηστών, συμπεριλαμβανομένου του ιδιοκτήτη, των μελών της ομάδας και άλλων. Συμβολίζεται ως rwxrwxrwx.

Βασικά, οποιοσδήποτε στο σύστημα μπορεί να δει, να τροποποιήσει, να διαγράψει, να εκτελέσει ή να κάνει οτιδήποτε με το αρχείο ή τον κατάλογο μόλις χρησιμοποιηθεί αυτή η εντολή. Γι' αυτό η chmod 777 εντολή θεωρείται πολύ ευαίσθητη και οι χρήστες αποθαρρύνονται έντονα από τη χρήση της. Αυτό μπορεί να θέσει σε κίνδυνο την ασφάλεια και να αφήσει τον διακομιστή ιστού σας εκτεθειμένο σε κακόβουλους παράγοντες.

Εναλλακτικά, συνιστούμε να χρησιμοποιήσετε την καλύτερη και ασφαλέστερη chmod 644 εντολή για να ορίσετε δικαιώματα αρχείων. Όπως καταλαβαίνετε, ο αριθμός άδειας 644 θα εκχωρήσει μόνο δικαιώματα ανάγνωσης και εγγραφής (6) στον κάτοχο (1ο ψηφίο). Επιπλέον, η άδεια ανάγνωσης (4) εκχωρείται σε όλα τα μέλη της ομάδας (2ο ψηφίο) και σε άλλους χρήστες (3ο ψηφίο).

Πώς να χρησιμοποιήσετε την εντολή Chmod 777 στο Linux;

Για να εκτελέσετε την chmod 777 εντολή στον υπολογιστή σας Linux ή σε WSL στον υπολογιστή σας με Windows , πρέπει να ακολουθήσετε την παρακάτω σύνταξη.

chmod 777 <διαδρομή αρχείου ή όνομα αρχείου>

777.jpg

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

chmod 644 <διαδρομή αρχείου ή όνομα αρχείου>

7771.jpg

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

stat -c "%a" <διαδρομή αρχείου ή όνομα αρχείου>

7772.jpg

Αυτά είναι όλα όσα πρέπει να γνωρίζετε για το Chmod 777 και τι κάνει στο Linux. Όπως αναφέρθηκε παραπάνω, δεν θα συνιστούσαμε να δώσετε άδεια σε όλους τους χρήστες, ειδικά εάν αντιμετωπίζετε προβλήματα με τον διακομιστή ιστού σας. Αντίθετα, σας προτείνουμε να χρησιμοποιήσετε τις τιμές αδειών αρχείου 644 ή 755, καθώς δεν είναι τόσο υψηλού κινδύνου.
 
Top Bottom