Διαφορά μεταξύ των αναθεωρήσεων του «Chmod»
Admin (συζήτηση | συνεισφορές) μ |
Admin (συζήτηση | συνεισφορές) μ |
||
Γραμμή 1: | Γραμμή 1: | ||
{{DISPLAYTITLE:chmod}} | |||
== Σκοπός == | == Σκοπός == | ||
Αναθεώρηση της 15:16, 8 Απριλίου 2022
1 Σκοπός
Αλλάζει τις λειτουργίες αρχείων.
2 Σύνταξη
Για να αλλάξετε τις λειτουργίες αρχείων συμβολικά
chmod [ -R ][ -h ][ -f ][ [ u ][ g ][ o ] | [ a ] ] { { - | + | = } [ r ][ w ][ x ][ X ][ s ][ t ] } { Αρχείο ... | Ευρετήριο ... }
Για να αλλάξετε τις λειτουργίες αρχείων αριθμητικά
chmod [ -R ][ -h ][ -f ] PermissionCode { Αρχείο ... | Ευρετήριο ... }
3 Περιγραφή
Η εντολή chmod τροποποιεί τα bit λειτουργίας και τις εκτεταμένες λίστες ελέγχου πρόσβασης (extended access control lists ACL) των καθορισμένων αρχείων ή καταλόγων. Η λειτουργία μπορεί να οριστεί συμβολικά ή αριθμητικά (απόλυτη λειτουργία).
Όταν συναντάται ένας συμβολικός σύνδεσμος και δεν έχετε καθορίσει τη σημαία -h, η εντολή chmod αλλάζει τη λειτουργία του αρχείου ή του καταλόγου που δείχνει ο σύνδεσμος και όχι τη λειτουργία του ίδιου του συνδέσμου. Εάν καθορίσετε τη σημαία -h, η εντολή chmod αποτρέπει αυτήν την αλλαγή λειτουργίας.
Εάν καθορίσετε και τη σημαία -h και τη σημαία -R, η εντολή chmod κατεβαίνει στους καθορισμένους καταλόγους αναδρομικά και όταν συναντάται ένας συμβολικός σύνδεσμος, η λειτουργία του αρχείου ή του καταλόγου στον οποίο υποδεικνύεται ο σύνδεσμος δεν αλλάζει.
4 Σημαίες
Είδος | Περιγραφή |
---|---|
-f | Καταργεί όλες τις αναφορές σφαλμάτων εκτός από τα μη έγκυρα δικαιώματα και τις δηλώσεις χρήσης. |
-h | Αναστέλλει μια αλλαγή τρόπου λειτουργίας για το αρχείο ή τον κατάλογο που δείχνει ο συμβολικός σύνδεσμος που συναντήθηκε.
Σημείωση: Αυτή η συμπεριφορά είναι ελαφρώς διαφορετική από τη συμπεριφορά της σημαίας -h στις εντολές chgrp και chown, επειδή τα bit λειτουργίας δεν μπορούν να οριστούν σε συμβολικούς συνδέσμους.
|
-R | Παραθέτει μόνο τους καταλόγους αναδρομικά, όπως καθορίζεται από το μοτίβο Αρχείο...|Κατάλογος... Η σημαία -R αλλάζει τα bit λειτουργίας αρχείου κάθε καταλόγου και όλων των αρχείων που ταιριάζουν με το καθορισμένο μοτίβο. Δείτε το Παράδειγμα 6.
Όταν συναντάται ένας συμβολικός σύνδεσμος και ο σύνδεσμος οδηγεί σε έναν κατάλογο, τα bits λειτουργίας αρχείου αυτού του καταλόγου αλλάζουν αλλά ο κατάλογος δεν διασχίζεται παρακάτω.
|
Συμβολική λειτουργία
Για να καθορίσετε μια λειτουργία σε συμβολική μορφή, πρέπει να καθορίσετε τρία σύνολα σημαιών.
Σημείωση: Μην διαχωρίζετε τις σημαίες με κενά.
Το πρώτο σύνολο σημαιών καθορίζει σε ποιον παραχωρούνται ή αρνούνται τα καθορισμένα δικαιώματα, ως εξής:
Είδος | Περιγραφή |
---|---|
u | Κάτοχος αρχείου. |
g | Ομάδες και εκτεταμένες καταχωρήσεις ACL που σχετίζονται με την ομάδα του αρχείου. |
o | Όλοι οι άλλοι. |
a | Χρήστης, ομάδα και όλοι οι άλλοι. Η σημαία a έχει το ίδιο αποτέλεσμα με τον καθορισμό των σημαιών ugo μαζί. Εάν δεν έχει καθοριστεί καμία από αυτές τις σημαίες, η προεπιλογή είναι η σημαία a και εφαρμόζεται η μάσκα δημιουργίας αρχείου (umask). |
Το δεύτερο σύνολο σημαιών καθορίζει εάν τα δικαιώματα πρέπει να αφαιρεθούν, να εφαρμοστούν ή να οριστούν:
Είδος | Περιγραφή |
---|---|
r | Άδεια ανάγνωσης. |
w | Άδεια εγγραφής. |
x | Άδεια εκτέλεσης για αρχεία. Άδεια αναζήτησης για καταλόγους. |
X | Άδεια εκτέλεσης για αρχεία εάν τα τρέχοντα (μη τροποποιημένα) bit τρόπου λειτουργίας έχουν τουλάχιστον ένα σύνολο από τα bit του χρήστη, της ομάδας ή άλλων εκτελεστών. Η σημαία X αγνοείται εάν έχει καθοριστεί η παράμετρος Αρχείο και κανένα από τα bit εκτέλεσης δεν έχει οριστεί στα bit τρέχουσας λειτουργίας.
Άδεια αναζήτησης για καταλόγους.
|
s | Ρύθμιση δικαιωμάτων χρήστη-αναγνωριστικό κατά την εκτέλεση, εάν η σημαία u καθορίζεται ή υπονοείται. Άδεια εκτέλεσης Set-group-ID-on-execution εάν η σημαία g καθορίζεται ή υπονοείται. |
t | Για καταλόγους, υποδεικνύει ότι μόνο οι κάτοχοι αρχείων μπορούν να συνδέσουν ή να αποσυνδέσουν αρχεία στον καθορισμένο κατάλογο. Για αρχεία, ορίζει το χαρακτηριστικό save-text. |
Αριθμητική ή Απόλυτη λειτουργία
Η εντολή chmod σας επιτρέπει επίσης να χρησιμοποιήσετε οκταδική κωδικοποίηση για τη λειτουργία. Η αριθμητική λειτουργία είναι το άθροισμα μιας ή περισσότερων από τις ακόλουθες τιμές:
Item | Description |
---|---|
4000 | Ορίζει το αναγνωριστικό χρήστη κατά την εκτέλεση. |
2000 | Ορίζει το αναγνωριστικό ομάδας κατά την εκτέλεση. |
1000 | Ορίζει το δικαίωμα σύνδεσης σε καταλόγους ή ορίζει το χαρακτηριστικό αποθήκευσης κειμένου για αρχεία. |
0400 | Επιτρέπει την ανάγνωση από τον ιδιοκτήτη. |
0200 | Επιτρέπει την εγγραφή από τον ιδιοκτήτη. |
0100 | Επιτρέπει την εκτέλεση ή αναζήτηση από τον ιδιοκτήτη. |
0040 | Επιτρέπει την ανάγνωση από ομάδα. |
0020 | Επιτρέπει την εγγραφή από ομάδα. |
0010 | Επιτρέπει την εκτέλεση ή αναζήτηση από ομάδα. |
0004 | Επιτρέπει την ανάγνωση από άλλους. |
0002 | Επιτρέπει την εγγραφή από άλλους. |
0001 | Επιτρέπει την εκτέλεση ή αναζήτηση από άλλους. |
5 Παραδείγματα
1 Για να προσθέσετε έναν τύπο άδειας σε πολλά αρχεία:
Αυτό προσθέτει άδεια εγγραφής για μέλη της ομάδας στα αρχεία chap1 και chap2.
2 Για να κάνετε πολλές αλλαγές αδειών ταυτόχρονα:
Αυτό αναιρεί στα μέλη της ομάδας και σε άλλους την άδεια να δημιουργήσουν ή να διαγράψουν αρχεία στο mydir (go-w) και επιτρέπει στα μέλη της ομάδας και σε άλλους να αναζητήσουν το mydir ή να το χρησιμοποιήσουν σε ένα όνομα διαδρομής (go+x). Αυτό είναι ισοδύναμο με την ακολουθία εντολών:
3 Για να επιτρέπεται μόνο στον κάτοχο να χρησιμοποιεί μια διαδικασία φλοιού ως εντολή:
Αυτό δίνει άδεια ανάγνωσης, εγγραφής και εκτέλεσης στο χρήστη που κατέχει το αρχείο (u=rwx). Επίσης, αρνείται στην ομάδα και σε άλλους την άδεια πρόσβασης στο cmd με οποιονδήποτε τρόπο (go=). Εάν έχετε άδεια να εκτελέσετε το αρχείο εντολής κελύφους cmd, τότε μπορείτε να το εκτελέσετε εισάγοντας:
Σημείωση: Ανάλογα με τη μεταβλητή του κελύφους PATH, μπορεί να χρειαστεί να καθορίσετε την πλήρη διαδρομή προς το αρχείο cmd.
4 Για να χρησιμοποιήσετε τις λειτουργίες Set-ID:
Όταν εκτελείται η εντολή cmd, τα αποτελεσματικά αναγνωριστικά χρήστη και ομάδας ορίζονται σε αυτά που κατέχουν το αρχείο cmd. Μόνο τα ενεργά αναγνωριστικά που σχετίζονται με τη θυγατρική διαδικασία που εκτελεί την εντολή cmd αλλάζουν. Τα ενεργά αναγνωριστικά της περιόδου λειτουργίας φλοιού παραμένουν αμετάβλητα. Αυτή η δυνατότητα σάς επιτρέπει να επιτρέψετε την πρόσβαση σε περιορισμένα αρχεία. Ας υποθέσουμε ότι το πρόγραμμα cmd έχει ενεργοποιημένη τη λειτουργία Set-User-ID και ανήκει σε έναν χρήστη που ονομάζεται dbms. Το dbms χρήστη δεν είναι στην πραγματικότητα άτομο, αλλά μπορεί να σχετίζεται με ένα σύστημα διαχείρισης βάσης δεδομένων. Ο χρήστης betty δεν έχει άδεια πρόσβασης σε κανένα από τα αρχεία δεδομένων του dbms. Ωστόσο, έχει άδεια να εκτελέσει την εντολή cmd. Όταν το κάνει αυτό, το πραγματικό αναγνωριστικό χρήστη της αλλάζει προσωρινά σε dbms, έτσι ώστε το πρόγραμμα cmd να έχει πρόσβαση στα αρχεία δεδομένων που ανήκουν στον χρήστη dbms. Με αυτόν τον τρόπο η χρήστης betty μπορεί να χρησιμοποιήσει την εντολή cmd για να αποκτήσει πρόσβαση στα αρχεία δεδομένων, αλλά δεν μπορεί να τα καταστρέψει κατά λάθος με τις τυπικές εντολές φλοιού.
5 Για να χρησιμοποιήσετε τη μορφή απόλυτης λειτουργίας της εντολής chmod:
Αυτό ορίζει άδεια ανάγνωσης και εγγραφής για τον κάτοχο και ορίζει τη λειτουργία μόνο για ανάγνωση για την ομάδα και άλλους. Αυτό καταργεί επίσης όλα τα εκτεταμένα ACL που ενδέχεται να σχετίζονται με το αρχείο.
6 Για να κατεβάσετε αναδρομικά τους καταλόγους και να αλλάξετε τα δικαιώματα αρχείων και καταλόγων δεδομένης της δομής δέντρου:
./dir1/dir2/file1
./dir1/dir2/file2
./dir1/file1
εισάγετε αυτήν τη σειρά εντολών:
που θα αλλάξει τα δικαιώματα στο./dir1/file1.
Δεδομένης όμως της δομής του δέντρου:
./dir1/fdir2/file1
./dir1/fdir2/file2
./dir1/file3
η σειρά εντολών:
θα αλλάξει τα δικαιώματα σε::
./dir1/fdir2
./dir1/fdir2/file1
./dir1/fdir2/file2
./dir1/file3
6 Πηγή