Δημοσιεύτηκε: 24 Σεπ 2008, 14:41
από g00fy
Θα ήθελα κι εγώ να προσθέσω μία μικρή επεξήγηση για το οκταδικό σύστημα στην εντολή chmod.

Όπως αναφέρθηκε πριν η εντολή στηρίζεται στο οκταδικό και όχι στο δεκαδικό σύστημα. Όταν γράφουμε π.χ. chmod 776 ο αριθμός αυτός λέει στο Λ/Σ άλλαξε τις ιδιότητες του τάδε αρχείου σε r(ead) w(rite) e(x)ecute για τον ιδιοκτήτη, το ίδιο για το group και read write για τους άλλους.. Πως μεταφράζεται αυτό.
Ξεκινώντας θα το δούμε από το δυαδικό σύστημα

Chmod 111 111 110

Βλέπουμε τρείς δυαδικούς αριθμούς των τριών ψηφίων. Κάθε ψηφίο αντιστοιχεί στις ιδιότητες που θέλουμε να δώσουμε στις τρεις ομάδες (read, write, execute). Με 1 επιβεβαιώνουμε, με 0 αφαιρούμε.

Η μετατροπή γίνεται ως εξής Στο οκταδικό ξεκινούμε από 0 μέχρι 7 έτσι στα τρία ψηφία π.χ. 110 μετράμε από δεξιά προς αριστερά 1 2 4. Μηδέν είναι άκυρο έτσι δεν το μετράμε, οπότε 0. Το 1 είναι έγκυρο, άρα 2. Το τέρμα αριστερά 1 είναι έγκυρο, άρα 4. Οπότε έχουμε 0 + 2 + 4 = 6 octal

Αν θέλουμε να δώσουμε μόνο ανάγνωση έχουμε 100. Δεξιό 0 = 0, μεσαίο 0 = 0, αριστερό 1 = 4, οπότε 4+0+0 = 4 octal . Αν έχουμε chmod 100 100 100 = chmod 444 = r για owner, r για group, read για others.

Ελπίζω να βοήθησα λίγο στο θέμα της εντολής αυτής και το πόσο όμορφα συμβαδίζει το Linux με τα μαθηματικά και του αριθμούς των υπολογιστών. ;)