Μάθετε το setfacl εντολών Linux

Το βοηθητικό πρόγραμμα Setfacl ορίζει λίστες ελέγχου πρόσβασης (ACL) αρχείων και καταλόγων. Στη γραμμή εντολών , μια ακολουθία εντολών ακολουθείται από μια ακολουθία αρχείων (η οποία με τη σειρά της μπορεί να ακολουθείται από μια άλλη ακολουθία εντολών, ...).

Οι επιλογές -m και -x αναμένουν ένα ACL στη γραμμή εντολών. Οι πολλαπλές καταχωρίσεις ACL διαχωρίζονται με χαρακτήρες κόμμα (`, '). Οι επιλογές -M και -X διαβάζουν ένα ACL από ένα αρχείο ή από την τυπική είσοδο. Η μορφή καταχώρησης ACL περιγράφεται στην Ενότητα ACL ENTRIES.

Οι επιλογές -set και -set-file ορίζουν το ACL ενός αρχείου ή ενός καταλόγου. Ο προηγούμενος λογαριασμός ACL αντικαθίσταται. Οι καταχωρίσεις ACL για αυτήν τη λειτουργία πρέπει να περιλαμβάνουν δικαιώματα.

Οι επιλογές -m (- modify) και -M (- modify-file) τροποποιούν το ACL ενός αρχείου ή ενός καταλόγου. Οι καταχωρίσεις ACL για αυτήν τη λειτουργία πρέπει να περιλαμβάνουν δικαιώματα.

Οι επιλογές -x (--remove) και -X (--remove-file) καταργούν το ACL enries. Μόνο καταχωρήσεις ACL χωρίς το πεδίο perms είναι αποδεκτές ως παράμετροι, εκτός και αν ορίζεται το POSIXLY_CORRECT.

Κατά την ανάγνωση από αρχεία χρησιμοποιώντας τις επιλογές -M και -X , το setfacl δέχεται την παραγωγή getfacl που παράγει. Υπάρχει το πολύ μία εγγραφή ACL ανά γραμμή. Μετά από ένα σημάδι της λίβρας (`# '), τα πάντα μέχρι το τέλος της γραμμής αντιμετωπίζονται ως σχόλιο.

Αν το setfacl χρησιμοποιείται σε ένα σύστημα αρχείων που δεν υποστηρίζει ACL, το setfacl λειτουργεί με τα bits permission permission mode. Αν το ACL δεν ταιριάζει τελείως στα bits permission, το setfacl τροποποιεί τα bits της άδειας λειτουργίας του mode file ώστε να αντανακλά το ACL όσο το δυνατόν πιο στενά, γράφει ένα μήνυμα σφάλματος στο τυπικό σφάλμα και επιστρέφει με κατάσταση εξόδου μεγαλύτερη από 0.

ΣΥΝΟΨΗ

setfacl [-bkndRLPvh] [{-m | -x} acl_spec] [{-M | -X} acl_file] αρχείο ...

setfacl --restore = αρχείο

ΑΔΕΙΕΣ

Ο κάτοχος του αρχείου και οι διαδικασίες που είναι ικανές να CAP_FOWNER έχουν το δικαίωμα να τροποποιήσουν τα ACL ενός αρχείου. Αυτό είναι ανάλογο με τα δικαιώματα που απαιτούνται για την πρόσβαση στη λειτουργία αρχείου. (Στα τρέχοντα συστήματα Linux, ο ρίζας είναι ο μόνος χρήστης με την ικανότητα CAP_FOWNER.)

ΕΠΙΛΟΓΕΣ

-b, - απομακρύνουν όλα

Καταργήστε όλες τις εκτεταμένες καταχωρίσεις ACL. Οι βασικές καταχωρήσεις ACL του ιδιοκτήτη, της ομάδας και άλλων διατηρούνται.

-k, --remove-default

Αφαιρέστε το προεπιλεγμένο ACL. Εάν δεν υπάρχει προεπιλεγμένος ACL, δεν εκδίδονται προειδοποιήσεις.

-n, - μη-μάσκα

Μην επανυπολογίζετε την αποτελεσματική μάσκα δικαιωμάτων. Η προεπιλεγμένη συμπεριφορά του setfacl είναι να υπολογίσει εκ νέου την καταχώριση της μάσκας ACL, εκτός εάν έχει δοθεί ρητά μια καταχώρηση μάσκας. Η καταχώρηση μάσκας έχει οριστεί για την ένωση όλων των δικαιωμάτων της ομάδας που κατέχει και όλων των καταχωρήσεων χρήστη και ομάδας. (Αυτές είναι ακριβώς οι καταχωρίσεις που επηρεάζονται από την καταχώρηση μάσκας).

--μάσκα

Υπολογίστε εκ νέου την αποτελεσματική μάσκα δικαιωμάτων, ακόμη και αν η καταχώρηση μάσκας ACL δόθηκε ρητά. (Δείτε την επιλογή -n .)

-d, --default

Όλες οι λειτουργίες ισχύουν για το προεπιλεγμένο ACL. Οι κανονικές καταχωρήσεις ACL στο σετ εισόδου προωθούνται στις προκαθορισμένες καταχωρίσεις ACL. Οι προεπιλεγμένες καταχωρίσεις ACL στο σετ εισόδου απορρίπτονται. (Προειδοποίηση εκδίδεται αν συμβεί κάτι τέτοιο).

--restore = αρχείο

Επαναφέρετε ένα αντίγραφο ασφαλείας που δημιουργήθηκε από το `getfacl -R 'ή παρόμοιο. Όλα τα δικαιώματα μιας πλήρους δευτερεύουσας διεύθυνσης αποκαθίστανται χρησιμοποιώντας αυτό το μηχανισμό. Εάν η είσοδος περιέχει σχόλια ιδιοκτητών ή σχόλια ομάδας και το setfacl εκτελείται από τον root, αποκαθίσταται και η ομάδα ιδιοκτητών και ιδιοκτητών όλων των αρχείων. Αυτή η επιλογή δεν μπορεί να αναμειχθεί με άλλες επιλογές εκτός από το `--test '.

--δοκιμή

Δοκιμή λειτουργίας. Αντί να αλλάζετε τους ACL οποιουδήποτε αρχείου, εμφανίζονται οι ACL που προκύπτουν.

-R, - αναδρομικό

Εφαρμόστε διαδικασίες σε όλα τα αρχεία και τους καταλόγους αναδρομικά. Αυτή η επιλογή δεν μπορεί να αναμιχθεί με το `--restore '.

-L, --logical

Λογική βόλτα, ακολουθήστε συμβολικούς δεσμούς. Η προεπιλεγμένη συμπεριφορά είναι να ακολουθήσει τα συμβολικά επιχειρήματα σύνδεσης και να παραλείψετε συμβολικούς συνδέσμους που συναντώνται σε υποκαταλόγους. Αυτή η επιλογή δεν μπορεί να αναμιχθεί με το `--restore '.

-P, - φυσική

Φυσική βόλτα, παραλείψτε όλους τους συμβολικούς δεσμούς. Αυτό επίσης παρακάμπτει τα συμβολικά επιχειρήματα σύνδεσης. Αυτή η επιλογή δεν μπορεί να αναμιχθεί με το `--restore '.

--εκδοχή

Εκτυπώστε την έκδοση του setfacl και την έξοδο.

--βοήθεια

Βοήθεια για εκτύπωση εξηγώντας τις επιλογές γραμμής εντολών.

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

Εάν η παράμετρος ονόματος αρχείου είναι μια ενιαία παύλα, το setfacl διαβάζει μια λίστα αρχείων από την τυπική είσοδο.

ΕΙΣΟΔΟΣ ACL

Το βοηθητικό πρόγραμμα setfacl αναγνωρίζει τις ακόλουθες μορφές καταχώρησης ACL (κενά εισαγόμενα για λόγους σαφήνειας):

[d [efault]:] [u [ser]:] uid [: perms ]

Δικαιώματα ενός χρήστη με όνομα. Δικαιώματα του κατόχου του αρχείου αν το uid είναι άδειο.

[d [efault]]: g [roup]: gid [: perms ]

Δικαιώματα μιας ομάδας που ονομάζεται. Δικαιώματα της ομάδας ιδιοκτητών αν το gid είναι άδειο.

[d [efault]:] m [ζητήστε] [:] [: perms ]

Αποτελεσματική μάσκα δικαιωμάτων

[d [efault]:] o [ther] [:] [: perms ]

Δικαιώματα άλλων.

Ο κενός χώρος μεταξύ των χαρακτήρων οριοθέτησης και των χαρακτήρων που δεν είναι οριοθέτης αγνοείται.

Οι κατάλληλες καταχωρίσεις ACL, συμπεριλαμβανομένων των δικαιωμάτων, χρησιμοποιούνται για την τροποποίηση και τη ρύθμιση των λειτουργιών. (επιλογές -m , -M , --set και -set-αρχείο ). Οι καταχωρήσεις χωρίς το πεδίο perms χρησιμοποιούνται για τη διαγραφή καταχωρήσεων (επιλογές -x και -X ).

Για uid και gid μπορείτε να ορίσετε ένα όνομα ή έναν αριθμό.

Το πεδίο Perms είναι ένας συνδυασμός χαρακτήρων που υποδεικνύουν τα δικαιώματα: read (r) , write (w) , execute (x) , εκτέλεση μόνο εάν το αρχείο είναι κατάλογος ή έχει ήδη εκτελέσει δικαιώματα για κάποιον χρήστη (X) . Εναλλακτικά, το πεδίο perms μπορεί να είναι ένα οκταδικό ψηφίο (0-7).

ΑΥΤΟΜΑΤΑ ΣΥΝΙΣΤΩΜΕΝΗ ΕΙΣΟΔΟΣ

Αρχικά, τα αρχεία και οι κατάλογοι περιέχουν μόνο τις τρεις βασικές καταχωρίσεις ACL για τον ιδιοκτήτη, την ομάδα και άλλους. Υπάρχουν ορισμένοι κανόνες που πρέπει να πληρούνται για να είναι έγκυρο ένα ACL:

*

Δεν είναι δυνατή η κατάργηση των τριών καταχωρήσεων βάσης. Πρέπει να υπάρχει ακριβώς μία εγγραφή καθενός από αυτούς τους τύπους εισόδου βάσης.

*

Κάθε φορά που ένα ACL περιέχει ονομαστικές καταχωρήσεις χρήστη ή ομαδοποιημένα αντικείμενα ομάδας, πρέπει επίσης να περιέχει μια αποτελεσματική μάσκα δικαιωμάτων.

*

Κάθε φορά που ένα ACL περιέχει προεπιλεγμένες καταχωρίσεις ACL, πρέπει να υπάρχουν και οι τρεις προεπιλεγμένες καταχωρήσεις βάσης ACL (προεπιλεγμένος ιδιοκτήτης, προεπιλεγμένη ομάδα και άλλοι προεπιλεγμένοι).

*

Κάθε φορά που μια προεπιλεγμένη λίστα ACL περιέχει καταχωρήσεις χρήστη ή ομαδοποιημένα ονόματα ομάδας, πρέπει επίσης να περιέχει μια προεπιλεγμένη αποτελεσματική μάσκα δικαιωμάτων.

Για να βοηθήσει τον χρήστη να διασφαλίσει αυτούς τους κανόνες, το setfacl δημιουργεί καταχωρήσεις από υπάρχουσες καταχωρήσεις υπό τις ακόλουθες συνθήκες:

*

Εάν ένα ACL περιέχει καταχωρήσεις ονομάτων χρήστη ή ονομάτων ομάδων και δεν υπάρχει εγγραφή μάσκας, δημιουργείται μια καταχώρηση μάσκας που περιέχει τα ίδια δικαιώματα με την καταχώρηση ομάδας. Εκτός αν δίνεται η επιλογή -n , τα δικαιώματα της καταχώρησης της μάσκας προσαρμόζονται περαιτέρω ώστε να συμπεριλαμβάνουν την ένωση όλων των δικαιωμάτων που επηρεάζονται από την καταχώρηση της μάσκας. (Δείτε την περιγραφή επιλογών -n ).

*

Εάν δημιουργηθεί μια καταχώριση Προεπιλεγμένου ACL και το προεπιλεγμένο ACL δεν περιέχει εγγραφή ιδιοκτήτη, ιδιοκτησίας ομάδας ή άλλων, αντίγραφο του κατόχου ACL, της ιδιόκτητης ομάδας ή άλλης καταχώρησης προστίθεται στο προεπιλεγμένο ACL.

*

Εάν ένα προεπιλεγμένο πρωτόκολλο ACL περιέχει καταχωρήσεις ονόματος χρήστη ή καταχωρίσεις ομαδοποιημένων ομάδων και δεν υπάρχει εγγραφή μάσκας, προστίθεται μια καταχώρηση μάσκας που περιέχει τα ίδια δικαιώματα με την καταχώριση ομάδας προεπιλεγμένου προκαθορισμένου ACL. Εκτός αν έχει δοθεί η επιλογή -n , τα δικαιώματα της καταχώρησης της μάσκας προσαρμόζονται περαιτέρω ώστε να συμπεριλαμβάνεται η ένωση όλων των δικαιωμάτων που επηρεάζονται από την καταχώρηση μάσκας. (Δείτε την περιγραφή επιλογών -n ).

ΠΑΡΑΔΕΙΓΜΑΤΑ

Παροχή πρόσθετης πρόσβασης ανάγνωσης χρήστη

setfacl -mu: lisa: r αρχείο

Αναίρεση της πρόσβασης εγγραφής από όλες τις ομάδες και όλους τους χρήστες με όνομα (χρησιμοποιώντας την αποτελεσματική μάσκα δικαιωμάτων)

setfacl -mm :: rx αρχείο

Αφαίρεση μιας καταχώρησης ονομάτων ομάδας από το ACL ενός αρχείου

setfacl -xg: αρχείο προσωπικού

Αντιγραφή του ACL ενός αρχείου σε άλλο

getfacl file1 | setfacl --set-file = - αρχείο2

Αντιγραφή του ACL πρόσβασης στην προεπιλεγμένη λίστα ACL

getfacl -a dir | setfacl -d -M- dir

ΣΥΜΜΟΡΦΩΣΗ ΜΕ ΤΟ POSIX 1003.1e ΣΧΕΔΙΟ ΠΡΟΤΥΠΟΥ 17

Εάν έχει οριστεί η μεταβλητή περιβάλλοντος POSIXLY_CORRECT, η προεπιλεγμένη συμπεριφορά του setfacl αλλάζει ως εξής: Όλες οι μη τυπικές επιλογές είναι απενεργοποιημένες. Το πρόθεμα `` default: '' είναι απενεργοποιημένο. Οι επιλογές -x και -X δέχονται επίσης τα πεδία αδειών (και αγνοούν τους).

ΔΕΙΤΕ ΕΠΙΣΗΣ

umask (1),