Υπολογιστής Αδειών chmod
| Κατηγορία | Ανάγνωση (Read / r) | Εγγραφή (Write / w) | Εκτέλεση (Execute / x) | Οκταδικό |
|---|---|---|---|---|
| Ιδιοκτήτης (Owner) | 5 | |||
| Ομάδα (Group) | 5 | |||
| Άλλοι (Others) | 5 |
chmod 755 filename
Γιατί να χρησιμοποιήσετε έναν υπολογιστή chmod;
Οι άδειες (permissions) αρχείων στο Linux εκφράζονται σε συμβολικό συμβολισμό (π.χ. rwxr-xr-x) και σε οκταδικό συμβολισμό (π.χ. 755). Ο χειρονακτικός υπολογισμός των σωστών αδειών είναι επιρρεπής σε λάθη. Ο υπολογιστής μας σας επιτρέπει να επιλέγετε οπτικά, με checkboxes, τα δικαιώματα δημιουργώντας άμεσα την οκταδική τιμή και μια έτοιμη προς επικόλληση εντολή 'chmod'.
Οπτικός Οικοδόμος Αδειών
Λειτουργήστε με checkboxes για πρόσβαση ανάγνωσης/εγγραφής/εκτέλεσης (read/write/execute) ανά κατηγορία. Οι τιμές ενημερώνονται άμεσα
Αμφίδρομος Συγχρονισμός
Πληκτρολογήστε τον οκταδικό αριθμό (π.χ. 755) και τα checkboxes θα προσαρμοστούν αυτόματα — και το αντίστροφο
Έτοιμη Εντολή προς Αντιγραφή
Παράγει την πλήρη εντολή 'chmod' που μπορείτε να αντιγράψετε και να επικολλήσετε απευθείας στο terminal σας
Πώς να υπολογίσετε τα permissions
Επιλέξτε τα επιθυμητά δικαιώματα (checkboxes)
Επιλέξτε τα κουτάκια ανάγνωσης/εγγραφής/εκτέλεσης (read/write/execute) για Κατάλογο, Ομάδα (Group), και όλους τους Άλλους (Others)
Δείτε τα αποτελέσματα
Η οκταδική τιμή (π.χ. 755) και η συμβολική γραφή (rwxr-xr-x) υπολογίζονται και ενημερώνονται αστραπιαία
Αντιγράψτε την Εντολή
Κάντε κλικ στο 'Αντιγραφή Εντολής' για να έχετε έτοιμη την εντολή για το Linux terminal
Συνήθη Σενάρια Αδειών - chmod
Αρχεία Web Server
Χρησιμοποιήστε άδειες 644 για αρχεία HTML/CSS/JS σε δομές Apache/Nginx (Ιδιοκτήτης: R/W — Ομάδα/Άλλοι: R)
Εκτελέσιμα Scripts (Executables)
Επιλέξτε άδειες 755 για shell scripts (Ιδιοκτήτης: πλήρη πρόσβαση — Ομάδα/Άλλοι: R/X)
Κλειδιά SSH
Τα SSH Private Keys (ιδιωτικά κλειδιά) απαιτούν αυστηρά άδεια 600 (Μόνο ο Ιδιοκτήτης έχει R/W), αλλιώς απορρίπτονται
Κατάλογοι (Directories) Εισαγωγής
Εφαρμόστε άδειες 775 σε καταλόγους εφαρμογών Ιστού, επιτρέποντας στους server processes να εγγράψουν (write) αρχεία
Βέλτιστες Πρακτικές σχετικά με Linux Permissions
✓ Ποτέ μη χρησιμοποιείτε άδειες 777 σε παραγωγικούς (production) servers
Το chmod 777 δίνει δωρεάν & απλόχερα άδεια εγγραφής, ανάγνωσης, εκτέλεσης σε όλους (everybody) — κάτι εξαιρετικά επικίνδυνο και τεράστιο ρίσκο για την ασφάλεια του διακομιστή σας.
✓ Εφαρμόστε την Αρχή των Ελάχιστων Προνομίων (Least Privilege)
Να δίνετε μόνο ό,τι πραγματικά χρειάζεται. Ξεκινήστε από περιοριστικές άδειες (π.χ. 600) και αυξήστε τις, εάν παραστεί ανάγκη.
✓ Προσοχή με το -R flag (Αναδρομικά - Recursive)
Το -R εφαρμόζει τα ίδια permissions σε όλα τα αρχεία _και_ φακέλους μέσα σε ένα φάκελο, κάτι που γενικά δεν θέλετε! (Είναι προτιμότερο τα αρχεία να έχουν 644 και οι φάκελοι 755, αλλά είναι αδύνατον με ενιαίο -R).
✓ Κατανοήστε το 'umask'
Το 'umask' ορίζει τις default άδειες κατά τη δημιουργία. Π.χ. Αν έχετε umask 022, τα νέα αρχεία δημιουργούνται με 644, και οι φάκελοι με 755.
❓ Συχνές Ερωτήσεις
Τι σημαίνει ακριβώς το chmod 755;
Το 755 σημαίνει: owner(7)=ανάγνωση+εγγραφή+εκτέλεση, group(5)=ανάγνωση+εκτέλεση, others(5)=ανάγνωση+εκτέλεση. Αποτελούν ιδανικές, συνηθισμένες άδειες (default) για δημόσιους καταλόγους και εκτελέσιμα σενάρια.
Ποια είναι η διαφορά μεταξύ 644 και 755;
Το 644 (rw-r--r--): Επιτρέπει στον owner (ιδιοκτήτη) ανάγνωση/εγγραφή (Read/Write), ενώ όλοι οι υπόλοιποι έχουν μόνο Read. Το 755 (rwxr-xr-x): Επιτρέπει στον ιδιοκτήτη _και_ την εκτέλεση (έχει και x flag). Το 755 προτιμάται για scripts φακέλους, ενώ το 644 για απλά αρχεία (text, config k.l.p.).
Γιατί ένα SSH Key απαιτεί άδειες 600;
Οι SSH Agents (π.χ. ο OpenSSH daemon) θα αρνηθούν κατηγορηματικά να διαβάσουν το ιδιωτικό σας κλειδί αν δουν ότι είναι αναγνώσιμο/προσβάσιμο από οποιονδήποτε άλλον! Η άδεια 600 (rw-------) εξασφαλίζει ότι μόνο και μόνο ο ιδιοκτήτης (εσείς) μπορεί να διαβάσει το κλειδί.
Tι σημαίνει το "Εκτέλεση (Execute)" flag (bit) σε έναν κατάλογο (directory);
Oταν εφαρμόζεται σε αρχεία, το "Execute" (χ) τους επιτρέπει να "τρέξουν" ως προγράμματα. Σε έναν φάκελο, το (x) σημαίνει "πέρασμα" (traversal) — δηλαδή, δικαίωμα στο χρήστη να κάνει "cd - change directory" μέσα σε αυτόν. Χωρίς δικαίωμα Execute (χ) δεν μπορείτε να μπείτε/διαβείτε μέσα σε ένα directory!