Ρύθμιση Samba και διαμόρφωση FirewallD και SELinux για να επιτρέπεται η κοινή χρήση αρχείων σε πελάτες Linux/Windows - Μέρος 6


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

Σε αυτό το άρθρο και στο επόμενο αυτής της σειράς θα εξετάσουμε τα βασικά στοιχεία της ρύθμισης διακομιστών Samba και NFS με πελάτες Windows/Linux και Linux, αντίστοιχα.

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

Εφόσον μπορείτε να διαβάσετε για το υπόβαθρο και τις τεχνικές πτυχές τόσο του Samba όσο και του NFS σε όλο το Διαδίκτυο, σε αυτό το άρθρο και το επόμενο θα προχωρήσουμε κατευθείαν με το θέμα.

Βήμα 1: Εγκατάσταση διακομιστή Samba

Το τρέχον περιβάλλον δοκιμών μας αποτελείται από δύο RHEL 7 κουτιά και ένα μηχάνημα Windows 8, με αυτή τη σειρά:


1. Samba / NFS server [box1 (RHEL 7): 192.168.0.18], 
2. Samba client #1 [box2 (RHEL 7): 192.168.0.20]
3. Samba client #2 [Windows 8 machine: 192.168.0.106]

Στο box1, εγκαταστήστε τα ακόλουθα πακέτα:


yum update && yum install samba samba-client samba-common

Στο box2:


yum update && yum install samba samba-client samba-common cifs-utils

Μόλις ολοκληρωθεί η εγκατάσταση, είμαστε έτοιμοι να διαμορφώσουμε το κοινό μας.

Βήμα 2: Ρύθμιση κοινής χρήσης αρχείων μέσω Samba

Ένας από τους λόγους για τους οποίους το Samba είναι τόσο σχετικό είναι επειδή παρέχει υπηρεσίες αρχείων και εκτύπωσης σε πελάτες SMB/CIFS, γεγονός που κάνει αυτούς τους πελάτες να βλέπουν τον διακομιστή σαν να ήταν Σύστημα Windows (πρέπει να ομολογήσω ότι τείνω να γίνομαι λίγο συναισθηματικός ενώ γράφω για αυτό το θέμα καθώς ήταν η πρώτη μου εγκατάσταση ως νέος διαχειριστής συστήματος Linux πριν από μερικά χρόνια).

Προσθήκη χρηστών συστήματος και ρύθμιση αδειών και ιδιοκτησίας

Για να επιτραπεί η ομαδική συνεργασία, θα δημιουργήσουμε μια ομάδα με το όνομα finance με δύο χρήστες (user1 και user2) με την εντολή useradd και έναν κατάλογο /finance στο πλαίσιο1.

Θα αλλάξουμε επίσης τον κάτοχο της ομάδας αυτού του καταλόγου σε χρηματοδότηση και θα ορίσουμε τα δικαιώματά του σε 0770 (άδειες ανάγνωσης, εγγραφής και εκτέλεσης για τον κάτοχο και τον κάτοχο της ομάδας):


groupadd finance
useradd user1
useradd user2
usermod -a -G finance user1
usermod -a -G finance user2
mkdir /finance
chmod 0770 /finance
chgrp finance /finance

Βήμα 3: Διαμόρφωση SELinux και Firewalld

Κατά την προετοιμασία για τη διαμόρφωση του /finance ως κοινόχρηστο στοιχείο Samba, θα χρειαστεί είτε να απενεργοποιήσουμε το SELinux είτε να ορίσουμε τις κατάλληλες τιμές boolean και περιβάλλοντος ασφαλείας ως εξής (Διαφορετικά, το SELinux θα αποτρέψει την πρόσβαση των πελατών στο κοινόχρηστο στοιχείο):


setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
getsebool –a | grep samba_export
semanage fcontext –at samba_share_t "/finance(/.*)?"
restorecon /finance

Επιπλέον, πρέπει να διασφαλίσουμε ότι η κυκλοφορία Samba επιτρέπεται από το τείχος προστασίας.


firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

Βήμα 4: Διαμορφώστε το Samba Share

Τώρα ήρθε η ώρα να βουτήξουμε στο αρχείο διαμόρφωσης /etc/samba/smb.conf και να προσθέσουμε την ενότητα για το μερίδιό μας: θέλουμε τα μέλη της ομάδας finance να μπορούν για να περιηγηθείτε στα περιεχόμενα του /finance και να αποθηκεύσετε / δημιουργήστε αρχεία ή υποκαταλόγους σε αυτό (οι οποίοι από προεπιλογή θα έχουν τα bit αδειών τους σε 0770 και το finance θα είναι ο κάτοχος της ομάδας τους):


[finance]
comment=Directory for collaboration of the company's finance team
browsable=yes
path=/finance
public=no
valid users=@finance
write list=@finance
writeable=yes
create mask=0770
Force create mode=0770
force group=finance

Αποθηκεύστε το αρχείο και, στη συνέχεια, δοκιμάστε το με το βοηθητικό πρόγραμμα testparm. Εάν υπάρχουν σφάλματα, η έξοδος της ακόλουθης εντολής θα υποδείξει τι πρέπει να διορθώσετε. Διαφορετικά, θα εμφανιστεί μια επισκόπηση της διαμόρφωσης του διακομιστή Samba:

Εάν θέλετε να προσθέσετε ένα άλλο κοινόχρηστο στοιχείο που είναι ανοιχτό στο κοινό (δηλαδή χωρίς κανένα απολύτως έλεγχο ταυτότητας), δημιουργήστε μια άλλη ενότητα στο /etc/samba/smb.conf και κάτω από το όνομα της νέας κοινής χρήσης αντιγράψτε την παραπάνω ενότητα , αλλάζει μόνο το public=no σε public=yes και δεν περιλαμβάνει τους έγκυρους χρήστες και τις οδηγίες της λίστας εγγραφής.

Βήμα 5: Προσθήκη χρηστών Samba

Στη συνέχεια, θα χρειαστεί να προσθέσετε τους user1 και user2 ως χρήστες Samba. Για να το κάνετε αυτό, θα χρησιμοποιήσετε την εντολή smbpasswd, η οποία αλληλεπιδρά με την εσωτερική βάση δεδομένων της Samba. Θα σας ζητηθεί να εισαγάγετε έναν κωδικό πρόσβασης που θα χρησιμοποιήσετε αργότερα για να συνδεθείτε στο κοινόχρηστο στοιχείο:


smbpasswd -a user1
smbpasswd -a user2

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


systemctl start smb
systemctl enable smb
smbclient -L localhost –U user1
smbclient -L localhost –U user2

Σε αυτό το σημείο, ο διακομιστής αρχείων Samba έχει εγκατασταθεί και ρυθμιστεί σωστά. Τώρα ήρθε η ώρα να δοκιμάσουμε αυτήν τη ρύθμιση στους πελάτες μας RHEL 7 και Windows 8.

Βήμα 6: Τοποθέτηση του μεριδίου Samba στο Linux

Αρχικά, βεβαιωθείτε ότι το κοινόχρηστο στοιχείο Samba είναι προσβάσιμο από αυτόν τον πελάτη:


smbclient –L 192.168.0.18 -U user2

(επαναλάβετε την παραπάνω εντολή για το user1)

Όπως κάθε άλλο μέσο αποθήκευσης, μπορείτε να προσαρτήσετε (και αργότερα να αποσυνδέσετε) αυτό το κοινόχρηστο στοιχείο δικτύου όταν χρειάζεται:


mount //192.168.0.18/finance /media/samba -o username=user1

(όπου /media/samba είναι ένας υπάρχων κατάλογος)

ή μόνιμα, προσθέτοντας την ακόλουθη καταχώρηση στο αρχείο /etc/fstab:


//192.168.0.18/finance /media/samba cifs credentials=/media/samba/.smbcredentials,defaults 0 0

Όπου το κρυφό αρχείο /media/samba/.smbcredentials (του οποίου τα δικαιώματα και η ιδιοκτησία έχουν οριστεί σε 600 και root:root, αντίστοιχα) περιέχει δύο γραμμές που υποδεικνύουν το όνομα χρήστη και τον κωδικό πρόσβασης ενός λογαριασμού που επιτρέπεται να χρησιμοποιεί το κοινόχρηστο στοιχείο:


username=user1
password=PasswordForUser1

Τέλος, ας δημιουργήσουμε ένα αρχείο στο /finance και ας ελέγξουμε τα δικαιώματα και την ιδιοκτησία:


touch /media/samba/FileCreatedInRHELClient.txt

Όπως μπορείτε να δείτε, το αρχείο δημιουργήθηκε με δικαιώματα 0770 και η ιδιοκτησία ορίστηκε σε user1:finance.

Βήμα 7: Προσάρτηση του Samba Share στα Windows

Για να προσαρτήσετε το κοινόχρηστο στοιχείο Samba στα Windows, μεταβείτε στο Ο υπολογιστής μου και επιλέξτε Υπολογιστής και, στη συνέχεια, Χάρτης μονάδα δίσκου δικτύου. Στη συνέχεια, αντιστοιχίστε ένα γράμμα για τη μονάδα δίσκου που θα αντιστοιχιστεί και επιλέξτε Σύνδεση χρησιμοποιώντας διαφορετικά διαπιστευτήρια (τα παρακάτω στιγμιότυπα οθόνης είναι στα Ισπανικά, τη μητρική μου γλώσσα):

Τέλος, ας δημιουργήσουμε ένα αρχείο και ας ελέγξουμε τα δικαιώματα και την ιδιοκτησία:


ls -l /finance

Αυτή τη φορά το αρχείο ανήκει στον user2 καθώς αυτός είναι ο λογαριασμός που χρησιμοποιούσαμε για να συνδεθούμε από το πρόγραμμα-πελάτη των Windows.

Περίληψη

Σε αυτό το άρθρο εξηγήσαμε όχι μόνο πώς να ρυθμίσετε έναν διακομιστή Samba και δύο πελάτες που χρησιμοποιούν διαφορετικά λειτουργικά συστήματα, αλλά και πώς να ρυθμίσετε το τείχος προστασίας και το SELinux στο διακομιστή για να επιτρέψετε τις επιθυμητές δυνατότητες ομαδικής συνεργασίας.

Τελευταίο, αλλά εξίσου σημαντικό, επιτρέψτε μου να προτείνω την ανάγνωση της ηλεκτρονικής σελίδας man του smb.conf για να εξερευνήσετε άλλες οδηγίες διαμόρφωσης που μπορεί να είναι πιο κατάλληλες για την περίπτωσή σας από το σενάριο που περιγράφεται σε αυτό το άρθρο.

Όπως πάντα, μη διστάσετε να αφήσετε ένα σχόλιο χρησιμοποιώντας την παρακάτω φόρμα εάν έχετε σχόλια ή προτάσεις.