Μετατροπέας συμβολικής και οκταδικής μορφής chmod
Μετατρέψτε τις λειτουργίες chmod μεταξύ οκταδικής και συμβολικής σημειογραφίας: 755 σε u=rwx,g=rx,o=rx και αντίστροφα. Εφαρμόστε επίσης αλλαγές όπως u+x ή go-w σε μια τρέχουσα λειτουργία, χειριστείτε τα setuid, setgid και sticky bit και διαβάστε συμβολοσειρές ls -l. Εκτελείται στο πρόγραμμα περιήγησής σας.
Είσοδος
Η λειτουργία πριν από την αλλαγή, που χρησιμοποιείται από συμβολικές λειτουργίες όπως u+x. Τα + και - προσθέτουν και αφαιρούν δικαιώματα αντίστοιχα.Περιορίζει τις συμβολικές αλλαγές χωρίς u, g, o ή a, όπως η +w.
Έξοδος
Readme
Τι είναι οι οκταδικές και συμβολικές λειτουργίες chmod;
Το chmod ορίζει τα δικαιώματα ενός αρχείου σε Linux, macOS και άλλα συστήματα Unix και τα δέχεται σε δύο σημειογραφίες. Μια οκταδική λειτουργία, όπως η 755, έχει ένα ψηφίο για τον κάτοχο, την ομάδα και όλους τους υπόλοιπους, όπου η ανάγνωση είναι 4, η εγγραφή είναι 2 και η εκτέλεση είναι 1. Μια συμβολική λειτουργία, όπως η u=rwx,g=rx,o=rx, ονομάζει τις κατηγορίες (u κάτοχος, g ομάδα, o άλλοι, a όλοι) και τα δικαιώματα (r, w, x) αντίστοιχα.
Οι συμβολικές λειτουργίες μπορούν επίσης να τροποποιούν τα δικαιώματα αντί να τα ορίζουν όλα: η u+x προσθέτει δικαίωμα εκτέλεσης στον κάτοχο, η go-w αφαιρεί το δικαίωμα εγγραφής από την ομάδα και τους άλλους και η g=u αντιγράφει τα δικαιώματα του κατόχου στην ομάδα. Μια οκταδική λειτουργία ορίζει πάντα κάθε δικαίωμα, επομένως το οκταδικό αποτέλεσμα μιας αλλαγής εξαρτάται από τη λειτουργία που είχε προηγουμένως το αρχείο.
Περιγραφή εργαλείου
Αυτό το εργαλείο μετατρέπει λειτουργίες chmod μεταξύ οκταδικής και συμβολικής σημειογραφίας. Επιλέξτε τη σημειογραφία προέλευσης και προορισμού ή αφήστε την προέλευση στην αυτόματη ανίχνευση: εισαγάγετε 755 για να λάβετε u=rwx,g=rx,o=rx ή εισαγάγετε μια συμβολική λειτουργία για να λάβετε την οκταδική τιμή. Για αλλαγές όπως u+x ή a+X, εισαγάγετε την τρέχουσα λειτουργία του αρχείου και δείτε τη λειτουργία που θα άφηνε το chmod. Μπορείτε επίσης να επικολλήσετε μια συμβολοσειρά δικαιωμάτων από την ls -l, όπως -rwxr-xr-x, ή μια ολόκληρη εντολή chmod.
Παραδείγματα
| Οκταδική | Συμβολική | ls -l | Τυπική χρήση |
|---|---|---|---|
| 644 | u=rw,go=r |
-rw-r--r-- |
Κανονικά αρχεία |
| 755 | u=rwx,go=rx |
-rwxr-xr-x |
Script, προγράμματα και κατάλογοι |
| 600 | u=rw,go= |
-rw------- |
Ιδιωτικά αρχεία, όπως κλειδιά SSH |
| 2775 | u=rwx,g=rwxs,o=rx |
drwxrwsr-x |
Κοινόχρηστοι κατάλογοι που διατηρούν την ομάδα τους |
| 1777 | a=rwx,+t |
drwxrwxrwt |
/tmp και άλλοι κοινόχρηστοι προσωρινοί φάκελοι |
| 4755 | u=rwxs,go=rx |
-rwsr-xr-x |
Προγράμματα όπως το passwd |
Δυνατότητες
- Μετατρέπει οκταδική σημειογραφία σε συμβολική και συμβολική σε οκταδική, με κουμπί εναλλαγής για αλλαγή κατεύθυνσης
- Εντοπίζει τη σημειογραφία της λειτουργίας που εισαγάγετε ή πραγματοποιεί τη μετατροπή από τη σημειογραφία που επιλέγετε
- Εφαρμόζει σχετικές αλλαγές, όπως
u+x,go-w,a=r,u+w,g=uκαιa+X, σε μια τρέχουσα λειτουργία - Υποστηρίζει τα setuid, setgid και το sticky bit (
s,tκαι τετραψήφιες οκταδικές λειτουργίες) - Γράφει τη συμβολική λειτουργία πλήρως (
u=rwx,g=rx,o=rx) ή σε συμπτυγμένη μορφή (u=rwx,go=rx) - Διαβάζει και γράφει συμβολοσειρές δικαιωμάτων
ls -l, συμπεριλαμβανομένων τωνs,S,tκαιT - Δέχεται επικολλημένες εντολές, όπως
sudo chmod -R 755 dir - Υποδεικνύει τον ακριβή χαρακτήρα όταν μια λειτουργία δεν είναι έγκυρη
Πώς λειτουργεί
Μια οκταδική λειτουργία διαβάζεται ως έως τέσσερα ψηφία: το προαιρετικό πρώτο ψηφίο περιέχει τα setuid (4), setgid (2) και sticky (1), ενώ τα άλλα τρία περιέχουν τα δικαιώματα του κατόχου, της ομάδας και των άλλων. Μια συμβολική λειτουργία διαβάζεται ρήτρα προς ρήτρα, σύμφωνα με τη γραμματική POSIX, και εφαρμόζεται στην τρέχουσα λειτουργία με τον τρόπο που το GNU chmod στο Linux:
- Το
+προσθέτει δικαιώματα, το-τα αφαιρεί και το=τα ορίζει και διαγράφει τα υπόλοιπα για τις αναφερόμενες κατηγορίες. - Το
Xπροσθέτει δικαίωμα εκτέλεσης μόνο σε καταλόγους και σε αρχεία που έχουν ήδη δικαίωμα εκτέλεσης για κάποιον. - Το
sορίζει το setuid μαζί με τοuκαι το setgid μαζί με τοg. Τοtορίζει το sticky bit μαζί με ταo,aή χωρίς κατηγορία. - Χωρίς κατηγορία, όπως στην
+x, η αλλαγή εφαρμόζεται σε όλους, εκτός από τα bit που αποκλείονται από το umask. - Σε καταλόγους, τα setuid και setgid παραμένουν όπως είναι, εκτός αν τα ορίζει ρητά η λειτουργία, όπως στην
g-s.
Η συμβολική έξοδος ορίζει ρητά κάθε bit, επομένως σε ένα αρχείο δίνει το ίδιο αποτέλεσμα ανεξάρτητα από τη λειτουργία που είχε προηγουμένως το αρχείο. Το sticky bit γράφεται ως ξεχωριστή ρήτρα +t, επειδή τόσο το GNU όσο και το BSD chmod το δέχονται σε αυτή τη μορφή.
Συμβουλές
- Χρησιμοποιήστε την
a+Xμε τηνchmod -R, ώστε οι κατάλογοι να μπορούν να διασχίζονται χωρίς να γίνονται όλα τα αρχεία εκτελέσιμα. - Η
chmod 755σε έναν κατάλογο δεν καταργεί το setgid με το GNUchmod. Χρησιμοποιήστεchmod 00755ήg-sγια να το αφαιρέσετε. - Το Ansible και πολλά αρχεία ρυθμίσεων απαιτούν ένα αρχικό μηδενικό, όπως στο
0755. Ενεργοποιήστε την επιλογή «Να εμφανίζονται πάντα 4 οκταδικά ψηφία» για να το λαμβάνετε. - Μια
.ή ένα+μετά από μια συμβολοσειράls -lυποδεικνύει ένα context SELinux ή ένα ACL. Χρησιμοποιήστε τηνgetfaclγια να δείτε τις εγγραφές ACL, τις οποίες δεν εμφανίζει η λειτουργία.