Android

Πώς να αλλάξετε αναδρομικά τα δικαιώματα του αρχείου στο linux

Meteor: a better way to build apps by Roger Zurawicki

Meteor: a better way to build apps by Roger Zurawicki

Πίνακας περιεχομένων:

Anonim

Το Linux είναι ένα σύστημα πολλαπλών χρηστών και η πρόσβαση στα αρχεία ελέγχεται μέσω των αδειών, των ιδιοτήτων και της ιδιοκτησίας του αρχείου. Αυτό εξασφαλίζει ότι μόνο οι εξουσιοδοτημένοι χρήστες και οι διαδικασίες έχουν πρόσβαση σε αρχεία και καταλόγους.

Για περισσότερες πληροφορίες σχετικά με τα δικαιώματα αρχείων, ανατρέξτε στην ενότητα "Command Umask in Linux"., θα σας εξηγήσουμε πώς να αλλάζουμε αναδρομικά τα δικαιώματα των αρχείων και των καταλόγων.

Chmod Recursive

Η εντολή chmod σάς επιτρέπει να αλλάξετε τις άδειες των αρχείων χρησιμοποιώντας συμβολική ή αριθμητική λειτουργία.

Για να λειτουργείτε αναδρομικά σε όλα τα αρχεία και τους καταλόγους κάτω από έναν συγκεκριμένο κατάλογο, χρησιμοποιήστε την εντολή chmod με την επιλογή -R , ( --recursive ). Η γενική σύνταξη για την αναδρομική αλλαγή των αδειών του αρχείου έχει ως εξής:

chmod -R MODE DIRECTORY

Για παράδειγμα, για να αλλάξετε τα δικαιώματα όλων των αρχείων και υποκαταλόγων στον κατάλογο /var/www/html στο 755 θα χρησιμοποιούσατε:

chmod -R 755 /var/www/html

Η λειτουργία μπορεί επίσης να καθοριστεί χρησιμοποιώντας τη συμβολική μέθοδο:

chmod -R u=rwx, go=rx /var/www/html

Μόνο ο ρίζας, ο κάτοχος αρχείου ή ο χρήστης με δικαιώματα sudo μπορούν να αλλάξουν τα δικαιώματα ενός αρχείου. Προσέξτε ιδιαίτερα όταν αλλάζετε αναδρομικά τα δικαιώματα των αρχείων.

Χρησιμοποιώντας την εντολή Find

Γενικά, τα αρχεία και οι κατάλογοι δεν πρέπει να έχουν τα ίδια δικαιώματα. Τα περισσότερα αρχεία δεν απαιτούν την άδεια εκτέλεσης, ενώ πρέπει να ορίσετε δικαιώματα εκτέλεσης στους καταλόγους για να αλλάξετε σε αυτά.

Το πιο συνηθισμένο σενάριο είναι να αλλάξετε αναδρομικά τα δικαιώματα του αρχείου ιστότοπου στο 644 και τα δικαιώματα του καταλόγου σε 755 .

Χρησιμοποιώντας την αριθμητική μέθοδο:

find /var/www/html -type d -exec chmod 755 {} ; find /var/www/html -type f -exec chmod 644 {} ;

Χρησιμοποιώντας τη συμβολική μέθοδο:

find /var/www/html -type d -exec chmod u=rwx, go=rx {} ; find /var/www/html -type f -exec chmod u=rw, go=r {} ;

Η εντολή find αναζητά αρχεία ή καταλόγους κάτω από το /var/www/html και διαβιβάζει κάθε αρχείο ή κατάλογο που βρέθηκαν στην εντολή chmod για να ορίσετε τις άδειες.

Όταν χρησιμοποιείτε την find με το -exec , η εντολή chmod εκτελείται για κάθε καταχώρηση που βρέθηκε. Χρησιμοποιήστε την εντολή xargs για να επιταχύνετε τη λειτουργία, xargs ταυτόχρονα πολλαπλές καταχωρίσεις:

find /var/www/html -type d -print0 | xargs -0 chmod 755 find /var/www/html -type d -print0 | xargs -0 chmod 755 find /var/www/html -type f -print0 | xargs -0 chmod 644 find /var/www/html -type f -print0 | xargs -0 chmod 644

συμπέρασμα

Η εντολή chmod με τις επιλογές -R σας επιτρέπει να αλλάξετε αναδρομικά τα δικαιώματα του αρχείου.

Για να ορίσετε αναδρομικά τα δικαιώματα των αρχείων βάσει του τύπου τους, χρησιμοποιήστε το chmod σε συνδυασμό με την εντολή find .

τερματικό chmod