Εντολή chmod: τι είναι αυτοί οι αριθμοί ;

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

chmod 755 file

Οι αριθμητικές τιμές στο chmod

Ένας κομπιουτεράς θα μιλήσει για “οκταδικό σύστημα αρίθμησης”, αλλά μακρυά από εμάς. Αρκεί να ξέρουμε ότι ανάγνωση(r) είναι 4, εγγραφή(w) είναι 2 και “εκτέλεση” (x) είναι 1. Και προσθέτουμε. Έχουμε έτσι το παρακάτω πίνακα:

Τιμή Δικαιώματα Τιμή Δικαιώματα
0 --- 4 r--
1 --x 5 r-x
2 -w- 6 rw-
3 -wx 7 rwx

Πίνακας 1: Αντιστοίχηση δικαιωμάτων με τιμές

Έχω δει βιβλία με σελίδες επί σελίδων με όλες τις τιμές Άρα δεν είναι το ίδιο απλό για όλους :see_no_evil: :hear_no_evil: :speak_no_evil:.

Chmod Calculator

Ένα χρήσιμο website είναι το chmod calculator

Εύκολα θα βρεις τι κάνει κάποιος αριθμός και επιτέλους θα καταλάβεις πως βγαίνει :thinking:

Ελπίζω να το βρείτε χρήσιμο

(Ξανά)διαβάστε

6 «Μου αρέσει»

Πηγή: https://wizardzines.com/comics/permissions/

2 «Μου αρέσει»

Από την σελίδα που ανοίγει πατώντας στην παραπομπή για το Chmod Calculator, και στις “Popular Chmod Commands (Top 20)”, οι σελίδες που ανοίγουν για τα Chmod 0777 και 777 είναι πανομοιότυπες, δεν εξηγείται το αρχικό 0.
Στο manual της chmod, υπάρχει η παρακάτω παράγραφος:


Από εδώ, και από τα συμφραζόμενα στο άρθρο και τις παραπομπές του, βγαίνει το συμπέρασμα ότι το ένα (ή και 2!) αρχικά ψηφία χρειάζονται μόνο όταν χρησιμοποιούμε την chmod για φακέλους; Και, σε κάθε περίπτωση, το ψηφίο σε τι αναφέρεται; Σε συγκεκριμένο χρήστη/ομάδα; (και αλλάζει τα δικαιώματα μόνο εκεί;)
Δηλαδή εδώ:

το “1” στην chmod 1770 ορίζει ότι αλλάζονται τα δικαιώματα των χρηστών που ανήκουν στο group sambashare; Και αν ναι, από που προκύπτει ότι το sambashare είναι το 1;
Μήπως δεν έχω διαβάσει κάποιο άρθρο σωστά/ολόκληρο; Ή μήπως υπάρχει κάπου ανάλυση στο τι σημαίνουν τα αρχικά ψηφία;
(Όχι ότι θέλω να πάρω μεταπτυχιακό στην chmod. Απλά, όταν στο τοπικό μου δικτυάκι πάω να κάνω share κάποιο φάκελο μέσω samba (cinnamon, nemo, είτε σε Arch είτε σε Mint 19.1 λίγο παλιότερα), πατώντας “create share” βγαίνει μήνυμα λάθους “you are not the owner, so you can not change permissions”. Μετά αρχίζω τα chown και τα chmod, μέχρι να λυθεί το πρόβλημα με αλχημείες, αλλά τα δικαιώματα να είναι μπάχαλο, και είπα μήπως το μάθω σωστά ξεκινώντας από εδώ).

EDIT: Στην εικόνα της Julia Evans παραπάνω, φαίνετα ότι τα αρχικά ψηφία μπορεί να είναι και 3; (setuid,setgid,sticky);
Έριξα μια ματιά και σ’ αυτό

αλλά δεν φαίνεται να αρκεί.

Για να καταλάβεις τι σημαίνουν τα 3 πρώτα bits θέλεις “μεταπτυχιακό” :stuck_out_tongue: Μελέτησε τα άλλα άρθρα της σειράς και ειδικά το

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

Τώρα αν θέσεις το suid σε ένα φάκελλο στο Linux δεν θα κάνει απολύτως τίποτα. Στο BSD κάτι θα κάνει, αλλά ας το ξεχάσουμε. Αυτά τα 3 bits χρησιμοποιήθηκαν και εφευρέθηκαν για τις ανάγκες του πρώτου UNIX (και ήταν η μόνη πατέντα που κατοχυρώθηκε τότε) και με τον καιρό επαναχρησιμοποιηθήκαν για άλλες χρήσεις. Ο λόγος είναι πως τα ACL και τα xattributes έκαναν δεκαετίες να εμφανιστούν. Μια καλή συμβουλή είναι να ξεχάσεις ότι υπάρχουν :rofl: :rofl: :rofl:.

Τα δικαιώματα πρόσβασης, οι χρήστες και οι ομάδες χρηστών υπάρχουν εκεί για κάποιο λόγο. Μια ιδέα, που κάνουν κάποιοι εξυπνάκηδες (ναι δεν υπάρχει όριο στην ανθρώπινη ηλιθιότητα) είναι να θέσουν όλα τα αρχεία σε 777. Αυτά θα λύσει όλα τα προβλήματα πρόσβασης, όχι μόνο για σένα, αλλά και για όποιον άλλον θέλει. Αχ οι χάρες του παλιού καλού DOS :grinning_face_with_smiling_eyes: :grinning_face_with_smiling_eyes: :grinning_face_with_smiling_eyes:

Μην πειράζεις ποτέ τα δικαιώματα πρόσβασης, ειδικά σε φακέλους που δεν σου ανήκουν. Αν έχεις κάποιο θέμα με το samba ή το NFS, άνοιξε ένα ξεχωριστό θέμα στο φόρουμ.

1 «Μου αρέσει»