So installieren Sie den Samba-Server in RHEL, CentOS und Fedora
Samba ist ein Open-Source-Programm, das es Endbenutzern ermöglicht, von jedem Windows-Rechner im selben Netzwerk aus auf freigegebene Linux-Verzeichnisse zuzugreifen.
Samba wird auch als Netzwerkdateisystem bezeichnet und kann auf Linux/Unix-Betriebssystemen installiert werden. Samba selbst ist ein Client/Server-Protokoll von SMB (Server Message Block) und CIFS (Common Internet File System).
Über den Windows-SMBCLIENT (GUI) oder den Datei-Explorer können Endbenutzer von allen Windows-Workstations aus eine Verbindung zum Samba-Server herstellen, um auf freigegebene Dateien und Drucker zuzugreifen.
In diesem Tutorial wird erklärt, wie Sie den Samba-Server (Fileserver) auf RHEL-, CentOS Stream- und Fedora-Systemen installieren, und wir werden auch lernen, wie Sie ihn konfigurieren, um Dateien über das Netzwerk mit dem SMB-Protokoll freizugeben, und wir werden sehen, wie Sie Systembenutzer in der Datenbank des Samba-Benutzers erstellen und hinzufügen.
Zur Demonstration verwenden wir das RHEL 8-System mit dem Hostnamen tecmint und der IP-Adresse 192.168.43.121.
Installieren und Konfigurieren von Samba in RHEL
Um mit Samba zu beginnen, müssen Sie die Samba-Kernpakete und das samba-client-Paket wie gezeigt installieren:
# dnf install samba samba-common samba-client
Nachdem alle Samba installiert sind, müssen Sie das Samba-Freigabeverzeichnis mit den richtigen Berechtigungen und Eigentümern konfigurieren, damit es für alle Client-Computer im selben lokalen Netzwerk freigegeben wird.
# mkdir -p /srv/tecmint/data
chmod -R 755 /srv/tecmint/data
chown -R nobody:nobody /srv/tecmint/data
chcon -t samba_share_t /srv/tecmint/data
Als nächstes konfigurieren wir das Samba-Freigabeverzeichnis in der Datei smb.conf, die die Hauptkonfigurationsdatei für Samba ist.
# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
vim /etc/samba/smb.conf
Fügen Sie die folgenden Konfigurationszeilen hinzu, die die Richtlinien definieren, die festlegen, wer auf die Samba-Freigabe im Netzwerk zugreifen kann.
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = rocky-8
security = user
map to guest = bad user
dns proxy = no
ntlm auth = true
[Public]
path = /srv/tecmint/data
browsable =yes
writable = yes
guest ok = yes
read only = no
Speichern und beenden Sie die Konfigurationsdatei.
Überprüfen Sie als Nächstes die Samba-Konfiguration auf Fehler.
# testparm
Wenn alles in Ordnung ist, stellen Sie sicher, dass Sie die Samba-Daemons starten, aktivieren und den Status überprüfen.
# systemctl start smb
systemctl enable smb
systemctl start nmb
systemctl enable nmb
systemctl status smb
systemctl status nmb
Zugreifen auf Samba Share von Windows aus
Um vom Windows-Rechner aus auf die Samba-Freigabe zuzugreifen, drücken Sie die Windows-Logo-Taste + R, um das Dialogfeld Ausführen zu starten, und geben Sie die IP-Adresse des Samba-Servers wie gezeigt ein.
Sobald Sie die Verbindung hergestellt haben, wird Ihnen das Verzeichnis "Public" unserer Samba-Aktie aus dem Verzeichnis /srv/tecmint/data angezeigt.
Das 'Public'-Verzeichnis ist leer, da wir keine Dateien in der Samba-Freigabe erstellt haben, erstellen wir einige Dateien mit dem folgenden Befehl.
# cd /srv/tecmint/data
touch file{1..3}.txt
Nachdem Sie Dateien erstellt haben, versuchen Sie, auf den Samba-Ordner "Öffentlich" zuzugreifen, um die Dateien anzuzeigen.
Wir haben unsere Samba-Freigabe erfolgreich von Windows aus konfiguriert und darauf zugegriffen, unser Verzeichnis ist jedoch für jeden zugänglich, der über die Berechtigung zum Bearbeiten und Löschen von Dateien verfügt, was nicht empfohlen wird, wenn Sie wichtige Dateien hosten.
Im nächsten Abschnitt erfahren Sie, wie Sie Ihr Samba-Freigabeverzeichnis sichern können.
Sicheres Samba-Freigabeverzeichnis in RHEL
Um unseren Samba-Anteil zu sichern, müssen wir einen neuen Samba-Benutzer erstellen.
# useradd smbuser
smbpasswd -a smbuser
Erstellen Sie als Nächstes eine neue Gruppe und fügen Sie den neuen Samba-Benutzer zu dieser Gruppe hinzu.
# sudo groupadd smb_group
sudo usermod -g smb_group smbuser
Erstellen Sie danach ein weiteres sicheres Samba-Freigabeverzeichnis für den sicheren Zugriff auf Dateien durch Samba-Benutzer.
# mkdir -p /srv/tecmint/private
chmod -R 770 /srv/tecmint/private
chcon -t samba_share_t /srv/tecmint/private
chown -R root:smb_group /srv/tecmint/private
Greifen Sie erneut auf die Samba-Konfigurationsdatei zu.
# vi /etc/samba/smb.conf
Fügen Sie diese Zeilen hinzu, die zum Sichern der Samba-Freigabe definiert werden sollen.
[Private]
path = /srv/tecmint/private
valid users = @smb_group
guest ok = no
writable = no
browsable = yes
Speichern Sie die Änderungen und beenden Sie den Vorgang.
Starten Sie abschließend alle Samba-Daemons wie gezeigt neu.
$ sudo systemctl restart smb
sudo systemctl restart nmb
Versuchen Sie nun, auf die Samba-Freigabe zuzugreifen, diesmal sehen Sie ein zusätzliches 'Private'-Verzeichnis. Um auf dieses Verzeichnis zugreifen zu können, müssen Sie sich mit den Anmeldeinformationen des Samba-Benutzers authentifizieren, wie gezeigt.
Um von einem Linux-Rechner aus auf die Samba-Freigabe zuzugreifen, installieren Sie zunächst das Paket samba-client und versuchen Sie, eine Verbindung herzustellen.
# dnf install samba-client
smbclient ‘\2.168.43.121\private’ -U smbuser
Damit ist dieser Artikel über die Installation und Konfiguration von Samba auf RHEL, CentOS Stream und Fedora abgeschlossen. Wir freuen uns über Ihr Feedback zu diesem Artikel.








