Πώς να περιορίσετε την εμφάνιση φακέλων/αρχείων σε Shared Folders με το “Access Based Enumeration” (ABE) για Windows Server


Καλή Χρονιά και Χρόνια Πολλά! Εύχομαι τα καλύτερα για το νέο έτος σε όλους/όλες σας!ac

Ξεκινάω το νέο έτος με ένα ενδιαφέρον χαρακτηριστικό που έχει περάσει απαρατήρητο και θεωρώ ότι πολλοί θα εκτιμήσουν ιδιαίτερα την ύπαρξή του, καθώς προσφέρει τη δυνατότητα να περιορίζεται η εμφάνιση των αρχείων & φακέλων σε όσους δεν έχουν δικαίωμα πρόσβασης.

Ίσως κάποιοι από εσάς να έχουν ασχοληθεί με το Novell Netware στο παρελθόν, ένα λειτουργικό σύστημα που είχε ιδιαίτερες δυνατότητες σε File Sharing, κάποτε το Novell ήταν ένα καθαρόαιμο λειτουργικό σύστημα Server εστιασμένο στις υπηρεσίες διαμοιρασμού αρχείων, πλέον συνδυάζει και άλλες δυνατότητες όπως GroupWare, collaboration κτλ, αλλά έχει χάσει την αίγλη του καθώς και μεγάλο μερίδιο της αγοράς λόγω λανθασμένων στρατηγικών κινήσεων.

Πλέον όμως το Novel βασίζεται σε Unix πυρήνα και “χτίζεται” με παρόμοιο τρόπο όπως το Mac OSX (μην παρεξηγείτε τα γραφόμενα, κάθε λειτουργικό αναπτύσσεται ανεξάρτητα), δεν έχει ξεχάσει όμως την κληρονομιά του, ίσα ίσα εξακολουθεί να αναπτύσσει καινοτόμες ιδέες, γεγονός που δεν αφορά το συγκεκριμένο άρθρο.

Το Novell λοιπόν περιόριζε τα αντικείμενα που ήταν θεάσιμα απο κάθε χρήστη όταν δεν είχε τα σχετικά δικαιώματα, πχ η Αλίκη προσπελαύνει το φάκελο “Users” στον οποίο  είχε δικαιώματα χρήσης μόνο στο φάκελο “Αλίκη”  και παρόλο που έχει και άλλους φακέλους ο “Users” αυτή βλέπει μόνο το δικό της, σκεφτείτε λίγο πόσο ασφαλές είναι αυτό από τα “περίεργα μάτια”, είναι γνωστό ότι οι χρήστες είναι περίεργοι, γιατί  να τους δίνετε περισσότερα από όσα πρέπει να γνωρίζουν;

Για πολλά χρόνια η Microsoft δεχόταν αμέτρητες κριτικές και feedback απο χρήστες για τη συγκεκριμένη λειτουργία, τελικά ενσωμάτωσε τη λειτουργία αυτή από το Service Pack 1 για Windows 2003 Server καθώς και στο Windows Server 2003 R2, δεν υπήρχε όμως γραφικό ή Command Line περιβάλλον γι’ αυτό και χρειάζεται να εγκατασταθεί το GUI από εδώ, η εγκατάσταση είναι πολύ απλή και δε θα υπεισέλθω περισσότερο απλά πριν ξεκινήσει θα ερωτηθείτε αν θέλετε να ενεργοποιηθεί η λειτουργία σε όλα τα shared folders ή αν θα την ενεργοποιήσετε εσείς σε όποια θέλετε, προτείνεται να επιλέξετε τη δεύτερη επιλογή, αν επιλέξετε την πρώτη επιλογή αυτό δε σημαίνει ότι θα ενεργοποιείται αυτόματα στους νέους διαμοιραζόμενους φακέλους θα ισχύσει μόνο για τους υπάρχοντες τη στιγμή της εγκατάστασης, στο Windows Server 2008 υπάρχει εγγενής υποστήριξή του ABE (Access Based Enumeration).

Το πρόβλημα που αντιμετωπίζει το ABE αφορά το γεγονός της εμφάνισης αρχείων/φακέλων σε χρήστες που δεν έχουν το δικαίωμα να τα προσπελάσουν, αυτό οφείλεται σε μια αδυναμία του συστήματος διαμοιρασμού αρχείων των Windows την οποία θα δούμε ως το παράδειγμα μας:

  • Έχουμε δημιουργήσει δυο χρήστες την Alice και το John, είναι μέλη του γκρουπ “Users”
  • Έχουμε ένα φάκελο με όνομα “Shared Folder”,
  • Το διαμοιράζουμε μέσω του “Sharing” με το ίδιο όνομα και το δικαίωμα “Read” στο γκρουπ “Everyone” (υπάρχει λόγος που θέτουμε everyone στο share γιατί θα κόψουμε την πρόσβαση από το Security tab),
  • Στο Security tab, αναθέτουμε δικαιώματα (allow) “Read & Execute” στο γκρουπ “Users”
  • Δημιουργούμε ένα αρχείο με όνομα Test.txt και ένα φάκελο με όνομα “DoUCMe” και αναθέτουμε και στα δυο δικαιώματα άρνησης  “Full Control” αντίστοιχα για την Alice και το John, οπότε η Alice έχει δικαίωμα να βλέπει το Test.txt ενώ όχι το φάκελο “DoUCMe” και ο John το αντίστροφο.

Το περιβάλλον του ABE είναι πολύ λιτό, οι επιλογές του είναι ξεκάθαρες και δε θα σας δυσκολέψουν ιδιαίτερα, βασική όμως προϋπόθεση για ενεργοποιηθεί είναι η ύπαρξη ενός διαμοιρασμένου φάκελου (ελληνιστί: shared folder), σε απλούς φακέλους δεν πρόκειται να δείτε τις επιλογές, ας δούμε όμως τις επιλογές ανά έκδοση:

Windows Server 2003 & R2

Μπαίνουμε στις ιδιότητες του φακέλου “Shared Folder” του παραδείγματος, παρατηρήστε τη νέα ταμπέλα που εμφανίζεται με όνομα “Access Based Enumeration” (Φώτο παρακάτω):

Access_Based_Enumeration_Win_2003_Properties_General

Κάνοντας κλικ βλέπουμε τις παρακάτω επιλογές, επιλέγουμε την “1” και αφήνουμε τη “2” προς το παρόν, οι εξηγήσεις τους είναι αυτονόητες (βλ. Φώτο):

Access_Based_Enumeration_Win_2003_Properties_Enable_Features

Αφού πατήσουμε Apply & OK θα συνδεθούμε στο Shared Folder απο κάποιον Client για να δούμε τι συμβαίνει με τους δυο χρήστες.

Δείτε λοιπόν τι βλέπει η Alice:

ABE_Alice_User

Και τι βλέπει ο John:

ABE_John_User

Αν απενεργοποιηθεί το ABE τότε και οι δυο χρήστες βλέπουν το φάκελο και το αρχείο, βέβαια δεν έχουν δικαίωμα να μεταβάλλουν/διαγράψουν αλλά η περιέργεια αυξάνεται όταν δεν είναι κρυμμένη η πληροφορία.

Windows Server 2008 & Windows Vista

Στην περίπτωση των λειτουργικών αυτών  η υποστήριξη της λειτουργία έχει ενσωματωθεί στο λειτουργικό, για να την ενεργοποιήσουμε υπάρχουν τουλάχιστον τέσσερις (4) τρόποι, θα δειχθούν οι δυο και τους υπόλοιπους μπορείτε να τους ανακαλύψετε εσείς -δεν είναι κάτι ιδιαίτερα δύσκολο!-, απλά να θυμάστε τα δικαιώματα που δίνεται στους διαμοιρασμένους φακέλους και στο Security tab.

1ος Τρόπος:

Ακολουθούμε την κλασική διαδικασία διαμοιρασμού φακέλων, δηλαδή “δεξί” κλικ στο φάκελο που θέλουμε να μοιράσουμε και επιλέγουμε “Share”. Προσθέτουμε το χρήστη “Everyone” και το σύστημα του αποδίδει δικαιώματα “Reader”, το αφήνουμε ως έχει και πατάμε “Share” (βλ. Φώτο).

ABE_2008_Share_1

Εφόσον ολοκληρωθεί η διαδικασία, πατάμε Done και ο διαμοιρασμός έχει ολοκληρωθεί, κατά τη διαδικασία του διαμοιρασμού ενεργοποιήθηκε και το Access Based Enumeration, αυτό μπορείτε να το ελέγξετε με την προσπέλαση των αρχείων/φακέλων όπως περιγράφηκε παραπάνω για τα Windows 2003 από κάποιο Client μηχανήμα, είτε από την κονσόλα “Share and Storage Management”.

Από το Start Menu πληκτρολογείτε στο “Start Search” πεδίο τη λέξη “Share” και θα εμφανιστεί στην κορυφή της λίστας η επιλογή “Share and Storage Management”, επιλέξτε την. Θα εμφανιστεί η παρακάτω κονσόλα, κάντε δεξί κλικ πάνω στο διαμοιρασμένο φάκελο, ο “Shared Folder” στην περίπτωση μας και επιλέξτε “Properties”:

ABE_2008_Check

Στη συνέχεια πατήστε το πλήκτρο “Advanced” και θα εμφανιστεί ο ακόλουθος διάλογος:

ABE_2008_Check_2

2ος Τρόπος:

Από την κονσόλα “Share and Storage Management” πατάμε απο τη δεξιά στήλη “Actions” την επιλογή “Provision Share”, στο διάλογο που θα εμφανιστεί πληκτρολογούμε τη θέση του φακέλου που θέλουμε να μοιράσουμε ή εναλλακτικά τον επιλέγουμε μέσω της επιλογής “Browse” και πατάμε “Next”.

Στο επόμενο βήμα απαντάμε “No, do not change NTFS permissions” και πατάμε “Next”.

Στο επόμενο βήμα “Share Protocols” αν δεν έχουμε εγκαταστήσει το NFS, αφήνουμε το SMB ως έχει και συνεχίζουμε.

Στο επόμενο βήμα “SMB Settings”, πατάμε το πλήκτρο “Advanced” και εμφανίζεται  διάλογος της φωτογραφίας παραπάνω (τέλος του 1ου τρόπου) χωρίς όμως να έχει επιλεγμένο το ABE, το επιλέγουμε και πατάμε OK και συνεχίζουμε.

Στα “SMB Permissions” επιλέγουμε την επιλογή “Users and groups have custom share permissions”, έπειτα πατάμε το πλήκτρο “Permissions” και επιβεβαιώνουμε ότι το Group “Everyone” έχει μόνο “Read” δικαιώματα στο “Share”, πατάμε OK και συνεχίζουμε.

Στο βήμα “DFS Namespace Publishing” επιλέγουμε αν θέλουμε να δημιουργήσουμε ένα DFS Namespace για το διαμοιραζόμενο φάκελο, προς το παρόν το αγνοούμε και συνεχίζουμε με την ολοκλήρωση της διαδικασίας.

Μπορείτε να ελέγξετε τα Share Permissions μετά την ολοκλήρωση της διαδικασίας, Το γκρουπ “Administrators” έχει πλήρη δικαιώματα και το γκρουπ “Everyone” έχει μόνο ανάγνωσης.

Να έχετε υπόψη σας ότι υπάρχει κάποιο performance penalty για πολλά αρχεία/φακέλους και ειδικά όταν γίνεται ταυτόχρονη προσπέλαση, παρ’ όλα αυτά δεν πρέπει να σας ανησυχεί ιδιαίτερα.

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

Υ.Γ. Το άρθρο για τα “Μαγειρέματα #1” δουλεύεται, θέλω να σας δείξω κάποια πράγματα που είμαι σίγουρος ότι θα εκτιμήσετε, γι’ αυτό και υπάρχει καθυστέρηση.

Υ.Γ.2 Λέω να μη βάλω γνωμικό αυτή τη φορά, την επόμενη όμως σίγουρα!

Υ.Γ.3 Αυτό το άρθρο έχει αναδημοσιευτεί από το παλιό μου Blog στο Autoexec.gr

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s