Σαν Διαχειριστής συστήματος, η πρώτη μας προτεραιότητα θα είναι η προστασία και η προστασία δεδομένων από μη εξουσιοδοτημένη πρόσβαση. Όλοι γνωρίζουμε τα δικαιώματα που ορίσαμε χρησιμοποιώντας μερικές χρήσιμες εντολές Linux, όπως chmod, chown, chgrp… και τα λοιπά. Ωστόσο, αυτά τα προεπιλεγμένα σύνολα δικαιωμάτων έχουν κάποιο περιορισμό και μερικές φορές ενδέχεται να μην λειτουργούν σύμφωνα με τις ανάγκες μας. Για παράδειγμα, δεν μπορούμε να ορίσουμε διαφορετικά σύνολα δικαιωμάτων για διαφορετικούς χρήστες στον ίδιο κατάλογο ή αρχείο. Ετσι, Λίστες ελέγχου πρόσβασης (ACLs) εφαρμόστηκαν.
Ας πούμε, έχετε τρεις χρήστες, "tecmint1‘, ‘tecmint2' και 'tecmint3‘. Ο καθένας που έχει κοινή ομάδα λέει «acl ’. Χρήστης 'tecmint1«Θέλω μόνο αυτό»tecmint2«Ο χρήστης μπορεί ανάγνωση και πρόσβαση αρχεία που ανήκουν στο «tecmint1«Και κανένας άλλος δεν πρέπει να έχει πρόσβαση σε αυτό.
ACLs (Λίστες ελέγχου πρόσβασης) μας επιτρέπει να κάνουμε το ίδιο κόλπο. Αυτά τα ACL μας επιτρέπουν να χορηγούμε δικαιώματα για ένα
χρήστης, ομάδα και οποιαδήποτε ομάδα χρηστών που δεν βρίσκονται στη λίστα ομάδων ενός χρήστη.Σημείωση: Σύμφωνα με την τεκμηρίωση προϊόντος Redhat, παρέχει υποστήριξη ACL για σύστημα αρχείων ext3 και συστήματα αρχείων που εξάγονται από NFS.
Πριν προχωρήσετε, θα πρέπει να έχετε υποστήριξη για ACL σε τρέχοντα πυρήνα και εγκατεστημένα συστήματα αρχείων.
Εκτελέστε την ακόλουθη εντολή για να ελέγξετε την υποστήριξη ACL για το σύστημα αρχείων και POSIX_ACL = Υ επιλογή (αν υπάρχει Ν αντί Υ, τότε σημαίνει ότι ο πυρήνας δεν υποστηρίζει ACL και πρέπει να ανασυνταχθεί).
[[προστασία ηλεκτρονικού ταχυδρομείου] ~]# grep -i acl /boot /config* CONFIG_EXT4_FS_POSIX_ACL = y
CONFIG_REISERFS_FS_POSIX_ACL = y
CONFIG_JFS_POSIX_ACL = y CONFIG_XFS_POSIX_ACL = y CONFIG_BTRFS_FS_POSIX_ACL = y CONFIG_FS_POSIX_ACL = y CONFIG_GENERIC_ACL = y CONFIG_TMPFS_POSIX_ACL = y CONFIG_NFS_V3_ACL = y CONFIG_NFSD_V2_ACL = y CONFIG_NFSD_V3_ACL = y CONFIG_NFS_ACL_SUPPORT = μ. CONFIG_CIFS_ACL = y CONFIG_9P_FS_POSIX_ACL = y
Πριν ξεκινήσετε να παίζετε με ACL, βεβαιωθείτε ότι έχετε εγκαταστήσει τα απαιτούμενα πακέτα. Παρακάτω είναι τα απαιτούμενα πακέτα που πρέπει να εγκατασταθούν χρησιμοποιώντας γιαμ ή apt-get.
[[προστασία ηλεκτρονικού ταχυδρομείου] ~]# yum install nfs4-acl-tools acl libacl [on Κόκκινο καπέλο βασισμένα συστήματα]
[[προστασία ηλεκτρονικού ταχυδρομείου] ~] $ sudo apt-get install nfs4-acl-tools acl [on Debian βασισμένα συστήματα]
Τώρα, ελέγξτε το τοποθετημένο σύστημα αρχείων αν είναι τοποθετημένο με ACL επιλογή ή όχι. Μπορούμε να χρησιμοποιήσουμε 'βουνό«Εντολή για έλεγχο του ίδιου όπως φαίνεται παρακάτω.
[[προστασία ηλεκτρονικού ταχυδρομείου] ~]# mount | grep -i root /dev /mapper /fedora -root on /type ext4 (rw, relatime, data = order)
Αλλά στην περίπτωσή μας δεν εμφανίζει acl από προεπιλογή. Έτσι, στη συνέχεια έχουμε την επιλογή να επανασυναρμολογήσουμε ξανά το τοποθετημένο διαμέρισμα χρησιμοποιώντας την επιλογή acl. Αλλά, προτού προχωρήσουμε, έχουμε μια άλλη επιλογή για να βεβαιωθούμε ότι το διαμέρισμα είναι τοποθετημένο με επιλογή acl ή όχι, επειδή για το πρόσφατο σύστημα ενδέχεται να ενσωματωθεί με την προεπιλεγμένη επιλογή συναρμολόγησης.
[[προστασία ηλεκτρονικού ταχυδρομείου] ~]# tune2fs -l/dev/mapper/fedora -root | grep acl Προεπιλεγμένες επιλογές στήριξης: user_xattr acl
Στην παραπάνω έξοδο, μπορείτε να δείτε ότι η προεπιλεγμένη επιλογή στήριξης έχει ήδη υποστήριξη για acl. Μια άλλη επιλογή είναι η επανασύνδεση του διαμερίσματος όπως φαίνεται παρακάτω.
[[προστασία ηλεκτρονικού ταχυδρομείου] ]# mount -o remount, acl /
Στη συνέχεια, προσθέστε την παρακάτω καταχώριση στο αρχείο ‘/etc/fstab’ για να γίνει μόνιμο.
/dev/mapper/fedora-root/ext4 προεπιλογές, acl 1 1
Και πάλι, επανασυνδέστε το διαμέρισμα.
[[προστασία ηλεκτρονικού ταχυδρομείου] ~]# mount -o remount /
Στον διακομιστή NFS, εάν το σύστημα αρχείων που εξάγεται από τον διακομιστή NSF υποστηρίζει ACL και ACL μπορεί να διαβαστεί από τους πελάτες NFS, τότε τα ACL χρησιμοποιούνται από το σύστημα πελάτη.
Για την απενεργοποίηση των ACL σε κοινή χρήση NFS, πρέπει να προσθέσετε την επιλογή "no_acl" σε '/etc/exportfs«Αρχείο στον διακομιστή NFS. Για να το απενεργοποιήσετε από την πλευρά του πελάτη NSF, χρησιμοποιήστε ξανά "no_acl”Επιλογή κατά τη διάρκεια της εγκατάστασης.
Υπάρχουν δύο τύποι ACLs:
Διαφορά μεταξύ Access ACL και Default ACL:
Για να καθορίσετε τα προεπιλεγμένα ACL για ένα συγκεκριμένο αρχείο ή κατάλογο, χρησιμοποιήστε το «getfacl' εντολή. Στο παρακάτω παράδειγμα, το getfacl χρησιμοποιείται για τη λήψη των προεπιλεγμένων ACL για έναν φάκελο «ΜΟΥΣΙΚΗ‘.
[[προστασία ηλεκτρονικού ταχυδρομείου]~] # getfacl Music/ # file: Music/ # κάτοχος: root. # ομάδα: root. χρήστης:: rwx. ομάδα:: r-x. άλλα:: r-x. προεπιλογή: user:: rwx. προεπιλογή: ομάδα:: r-x. προεπιλογή: άλλα:: rw-
Για να ορίσετε τα προεπιλεγμένα ACL για ένα συγκεκριμένο αρχείο ή κατάλογο, χρησιμοποιήστε το «setfacl' εντολή. Στο παρακάτω παράδειγμα, το setfacl η εντολή θα ορίσει μια νέα ACL (ανάγνωση και εκτέλεση) σε ένα φάκελο "ΜΟΥΣΙΚΗ'.
[[προστασία ηλεκτρονικού ταχυδρομείου]]# setfacl -m d: o: rx Music/ [[προστασία ηλεκτρονικού ταχυδρομείου]~]# getfacl Μουσική/ # αρχείο: Μουσική/ # κάτοχος: root. # ομάδα: root. χρήστης:: rwx. ομάδα:: r-x. άλλα:: r-x.προεπιλογή: user:: rwx. προεπιλογή: ομάδα:: r-x. προεπιλογή: άλλα:: r-x
Χρησιμοποιήστε το 'setfacl ’ εντολή για ρύθμιση ή τροποποίηση σε οποιοδήποτε αρχείο ή κατάλογο. Για παράδειγμα, για να δώσει ανάγνωση και γράφω δικαιώματα χρήστη "tecmint1‘.
# setfacl -m u: tecmint1: rw /tecmint1 /example
Χρησιμοποιήστε το 'getfacl«Εντολή για προβολή ACL σε οποιοδήποτε αρχείο ή κατάλογο. Για παράδειγμα, για να δείτε το ACL στο «/tecmint1/example"Χρησιμοποιήστε την παρακάτω εντολή.
# getfacl/tecmint1/example # file: tecmint1/example/ # ιδιοκτήτης: tecmint1. # ομάδα: tecmint1. χρήστης:: rwx. χρήστης: tecmint1: rwx. χρήστης: tecmint2: r-- ομάδα:: rwx. μάσκα:: rwx. άλλα::
Για την αφαίρεση του ACL από οποιοδήποτε αρχείο/κατάλογο, χρησιμοποιούμε Χ και σι επιλογές όπως φαίνεται παρακάτω.
# setfacl -x αρχείο/κατάλογος ACL # κατάργηση μόνο καθορισμένου ACL από το αρχείο/κατάλογο. # setfacl -b αρχείο/κατάλογος # κατάργηση όλων των ACL από το αρχείο/direcoty
Ας εφαρμόσουμε τα ACL στα ακόλουθα σενάρια.
Δύο Χρήστες (tecmint1 και tecmint2), και οι δύο έχουν κοινή δευτερεύουσα ομάδα με το όνομα «ακλ‘. Θα δημιουργήσουμε έναν κατάλογο που ανήκει στο «tecmint1«Και θα παρέχει τα ανάγνωση και εκτέλεση άδεια σε αυτόν τον κατάλογο στον χρήστη "tecmint2‘.
Βήμα 1: Δημιουργήστε δύο χρήστες και αφαιρέστε τον κωδικό πρόσβασης και από τους δύο
[[προστασία ηλεκτρονικού ταχυδρομείου] ~]# για χρήστη στο tecmint1 tecmint2> do. > useradd $ χρήστης. > passwd -d $ χρήστης. > τελείωσε. Κατάργηση κωδικού πρόσβασης για χρήστη tecmint1. passwd: Επιτυχία. Κατάργηση κωδικού πρόσβασης για χρήστη tecmint2. passwd: Επιτυχία
Βήμα 2: Δημιουργία ομάδας και χρηστών σε δευτερεύουσα ομάδα.
[[προστασία ηλεκτρονικού ταχυδρομείου] group]# groupadd acl. [[προστασία ηλεκτρονικού ταχυδρομείου] us]# usermod -G acl tecmint1. [[προστασία ηλεκτρονικού ταχυδρομείου] us]# usermod -G acl tecmint2
Βήμα 3: Δημιουργήστε έναν Κατάλογο /tecmint και αλλάξτε ιδιοκτησία σε tecmint1.
[[προστασία ηλεκτρονικού ταχυδρομείου] ~]# mkdir /tecmint1. [[προστασία ηλεκτρονικού ταχυδρομείου] ~]# chown tecmint1 /tecmint1 /
[[προστασία ηλεκτρονικού ταχυδρομείου] ~]# ls -ld /tecmint1 /drwxr-xr-x 2 tecmint1 root 4096 17 Απρ 14:46 /tecmint1 /
[[προστασία ηλεκτρονικού ταχυδρομείου] ~]# getfacl /tecmint1 getfacl: Κατάργηση του κύριου '/' από τα απόλυτα ονόματα διαδρομών
# αρχείο: tecmint1. # ιδιοκτήτης: tecmint1. # ομάδα: root. χρήστης:: rwx. ομάδα:: r-x. άλλα:: r-x
Βήμα 4: Συνδέσου με tecmint1 και δημιουργήστε έναν κατάλογο στο /tecmint ντοσιέ.
[[προστασία ηλεκτρονικού ταχυδρομείου] ~] $ su - tecmint1 Τελευταία σύνδεση: Πέμ Απρ 17 14:49:16 IST 2014 σε pts/4
[[προστασία ηλεκτρονικού ταχυδρομείου]~] $ cd /tecmint1 / [[προστασία ηλεκτρονικού ταχυδρομείου] tecmint1] $ mkdir παράδειγμα
[[προστασία ηλεκτρονικού ταχυδρομείου] tecmint1] $ ll συνολικά 4. drwxrwxr-x 2 tecmint1 tecmint1 4096 Απρ 17 14:50 παράδειγμα
[[προστασία ηλεκτρονικού ταχυδρομείου] tecmint1] $ whoami tecmint1
Βήμα 5: Τώρα ορίστε το ACL χρησιμοποιώντας το 'setfacl', έτσι ώστε 'tecmint1«Θα τα έχει όλα rwx δικαιώματα, "tecmint2«Θα έχει μόνο ανάγνωση άδεια για «παράδειγμα«Φάκελος και άλλα δεν θα έχουν δικαιώματα.
$ setfacl -m u: tecmint1: rwx παράδειγμα/ $ setfacl -m u: tecmint2: r-- παράδειγμα/ $ setfacl -m άλλο: παράδειγμα/ $ getfacl example/ # file: example. # ιδιοκτήτης: tecmint1. # ομάδα: tecmint1. χρήστης:: rwx. χρήστης: tecmint1: rwx. χρήστης: tecmint2: r-- ομάδα:: r-x. μάσκα:: rwx. άλλα::
Βήμα 6: Τώρα συνδεθείτε με άλλο χρήστη, δηλ.tecmint2"Σε άλλο τερματικό και αλλαγή καταλόγου σε"/tecmint1‘. Τώρα προσπαθήστε να δείτε τα περιεχόμενα χρησιμοποιώντας το «ls«Εντολή και στη συνέχεια προσπαθήστε να αλλάξετε τον κατάλογο και δείτε τη διαφορά όπως παρακάτω.
[[προστασία ηλεκτρονικού ταχυδρομείου] ~] $ su - tecmint2 Τελευταία είσοδος: Πέμ Απρ 17 15:03:31 IST 2014 σε pts/5
[[προστασία ηλεκτρονικού ταχυδρομείου]~] $ cd /tecmint1 / [[προστασία ηλεκτρονικού ταχυδρομείου]tecmint1] $ ls -lR παράδειγμα/ παράδειγμα/: σύνολο 0
[[προστασία ηλεκτρονικού ταχυδρομείου] tecmint1] $ cd παράδειγμα/ -bash: cd: example/: Η άδεια απορρίφθηκε.
[[προστασία ηλεκτρονικού ταχυδρομείου]tecmint1] $ getfacl example/ # file: example. # ιδιοκτήτης: tecmint1. # ομάδα: tecmint1. χρήστης:: rwx. χρήστης: tecmint1: rwx. χρήστης: tecmint2: r-- ομάδα:: rwx. μάσκα:: rwx. άλλα::
Βήμα 7: Τώρα δώσε 'εκτέλεση' αδεία για να 'tecmint2' επί 'παράδειγμαΦάκελο και στη συνέχεια χρησιμοποιήστε 'CD«Εντολή για να δείτε το αποτέλεσμα. Τωρα 'tecmint2«Έχετε τα δικαιώματα προβολής και αλλαγής καταλόγου, αλλά δεν έχετε δικαιώματα για να γράψετε τίποτα.
[[προστασία ηλεκτρονικού ταχυδρομείου]tecmint1] $ setfacl -m u: tecmint2: r -x παράδειγμα/ [[προστασία ηλεκτρονικού ταχυδρομείου] tecmint1] $ getfacl example/ # file: example. # ιδιοκτήτης: tecmint1. # ομάδα: tecmint1. χρήστης:: rwx. χρήστης: tecmint1: rwx. χρήστης: tecmint2: r-x. ομάδα:: rwx. μάσκα:: rwx. άλλα::
[[προστασία ηλεκτρονικού ταχυδρομείου] ~] $ su - tecmint2 Τελευταία σύνδεση: Πέμ Απρ 17 15:09:49 IST 2014 σε pts/5
[[προστασία ηλεκτρονικού ταχυδρομείου]~] $ cd /tecmint1 / [[προστασία ηλεκτρονικού ταχυδρομείου]tecmint1] $ cd παράδειγμα/ [[προστασία ηλεκτρονικού ταχυδρομείου] παράδειγμα] $ getfacl.
[[προστασία ηλεκτρονικού ταχυδρομείου] παράδειγμα] δοκιμή $ mkdir mkdir: δεν είναι δυνατή η δημιουργία «δοκιμής» καταλόγου: Η άδεια απορρίφθηκε.
[[προστασία ηλεκτρονικού ταχυδρομείου] παράδειγμα] $ touch test άγγιγμα: δεν μπορεί να αγγίξει «δοκιμή»: Η άδεια απορρίφθηκε.
Σημείωση: Μετά την εφαρμογή του ACL, θα δείτε ένα επιπλέον «+«Σύμβολο για την έξοδο« ls –l »όπως παρακάτω.
[[προστασία ηλεκτρονικού ταχυδρομείου] tecmint1]# ll συνολικά 4. drwxrwx+ 2 tecmint1 tecmint1 4096 Απρ 17 17:01 παράδειγμα
Τεκμηρίωση ACL