So richten Sie den Samba-Server in RHEL, Rocky Linux und AlmaLinux ein
Das Teilen von Dateien ist ein wesentlicher Bestandteil der Serveradministration. Es ermöglicht die gemeinsame Nutzung von Ressourcen im Netzwerk, die von den Benutzern zur Ausführung ihrer Aufgaben benötigt werden. Eine der am weitesten verbreiteten Filesharing-Software ist Samba.
Samba, eine Neuimplementierung des beliebten SMB-Protokolls (Server Message Block), ist eine stabile und kostenlose Anwendung, die die gemeinsame Nutzung von Dateien und Druckdiensten über ein Netzwerk ermöglicht. Die Software wird auf einem zentralen Linux-Server installiert, von dem aus sowohl von Linux- als auch von Windows-Systemen aus auf freigegebene Dateien zugegriffen werden kann.
In diesem Leitfaden führen wir Sie durch die Installation des Samba-Servers auf RHEL-basierten Distributionen wie CentOS Stream, Rocky Linux und AlmaLinux.
Schritt 1: Installieren Sie Samba unter Linux
Um mit Samba zu beginnen, installieren Sie die Samba-Kernpakete einschließlich des Client-Pakets:
$ sudo dnf install samba samba-common samba-client
Der Befehl installiert die angegebenen Pakete zusammen mit den Abhängigkeiten, die in der Ausgabe angezeigt werden. Nachdem die Installation abgeschlossen ist, erhalten Sie eine Zusammenfassung aller Pakete, die installiert wurden.
Schritt 2: Erstellen und Konfigurieren von Samba-Freigaben
Nachdem alle Samba-Pakete installiert wurden, besteht der nächste Schritt darin, die Samba-Freigaben zu konfigurieren. Eine Samba-Freigabe ist einfach ein Verzeichnis, das von mehreren Client-Systemen im Netzwerk gemeinsam genutzt wird.
Hier erstellen wir eine Samba-Freigabe namens /data im Verzeichnispfad /srv/tecmint/.
$ sudo mkdir -p /srv/tecmint/data
Als nächstes weisen wir Berechtigungen und Eigentum wie folgt zu.
$ sudo chmod -R 755 /srv/tecmint/data
sudo chown -R nobody:nobody /srv/tecmint/data
sudo chcon -t samba_share_t /srv/tecmint/data
Als nächstes werden wir einige Konfigurationen in der Konfigurationsdatei smb.conf vornehmen, die die Hauptkonfigurationsdatei von Samba ist. Bevor wir dies jedoch tun, sichern wir die Datei, indem wir sie mit einer anderen Dateierweiterung umbenennen.
$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
Als nächstes erstellen wir eine neue Konfigurationsdatei.
$ sudo vim /etc/samba/smb.conf
Wir definieren Richtlinien dafür, wer auf die Samba-Freigabe zugreifen kann, indem wir die in der Konfigurationsdatei angezeigten Zeilen hinzufügen.
[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.
Um die vorgenommenen Konfigurationen zu überprüfen, führen Sie den folgenden Befehl aus:
$ sudo testparm
Starten und aktivieren Sie als Nächstes Samba-Daemons wie gezeigt.
$ sudo systemctl start smb
sudo systemctl enable smb
sudo systemctl start nmb
sudo systemctl enable nmb
Vergewissern Sie sich, dass sowohl der smb- als auch der nmb-Daemon ausgeführt werden.
$ sudo systemctl status smb
sudo systemctl status nmb
Um den Zugriff auf die Samba-Freigabe von Windows-Remotesystemen aus zu ermöglichen, müssen Sie das Samba-Protokoll in der Firewall öffnen.
$ sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload
sudo firewall-cmd --list-services
Schritt 3: Zugriff auf Samba Share von Windows aus
Bisher haben wir Samba installiert und unseren Samba-Share konfiguriert. Wir sind jetzt bereit, aus der Ferne darauf zuzugreifen. Um dies auf einem Windows-Client zu tun, drücken Sie die Windows-Logo-Taste + R, um das Dialogfeld Ausführen zu starten.
Geben Sie in das dafür vorgesehene Textfeld die IP-Adresse des Samba-Servers ein, wie gezeigt:
\\server-ip
Das folgende Fenster mit der Bezeichnung "Öffentlich" wird geöffnet. Denken Sie daran, dass dies das Verzeichnis ist, das auf unsere Samba-Freigabe im Verzeichnis /srv/tecmint/data verweist.
Derzeit ist unser Verzeichnis leer, da wir keine Dateien erstellt haben. Also gehen wir zurück zu unserem Terminal und erstellen ein paar Dateien im Samba-Freigabeverzeichnis.
$ cd /srv/tecmint/data
sudo touch file{1..3}.txt
Nun navigieren wir zum Ordner "Öffentlich", in dem die zuvor erstellten Dateien angezeigt werden.
Perfekt. Wir haben es erfolgreich geschafft, auf unserens amba Anteil zuzugreifen. Unser Verzeichnis ist jedoch für jedermann zugänglich und jeder kann Dateien nach Belieben bearbeiten und löschen, was insbesondere dann nicht empfohlen wird, wenn Sie sensible Dateien hosten möchten.
Im nächsten Schritt zeigen wir Ihnen, wie Sie ein sicheres Samba-Share-Verzeichnis erstellen und konfigurieren können.
Schritt 4: Sicheres Samba-Freigabeverzeichnis
Zuerst erstellen wir einen neuen Samba-Benutzer.
$ sudo useradd smbuser
Als nächstes konfigurieren wir ein Passwort für den Samba-Benutzer. Dies ist das Kennwort, das während der Authentifizierung verwendet wird.
$ sudo smbpasswd -a smbuser
Als nächstes erstellen wir eine neue Gruppe für unsere sichere Samba-Freigabe und fügen den neuen Samba-Benutzer hinzu.
$ sudo groupadd smb_group
sudo usermod -g smb_group smbuser
Erstellen Sie danach eine weitere Samba-Freigabe, auf die sicher zugegriffen wird. In unserem Fall haben wir ein weiteres Verzeichnis im selben Pfad wie das
$ sudo mkdir -p /srv/tecmint/private
Konfigurieren Sie dann die Dateiberechtigungen für die Samba-Freigabe
$ sudo chmod -R 770 /srv/tecmint/private
sudo chcon -t samba_share_t /srv/tecmint/private
sudo chown -R root:smb_group /srv/tecmint/private
Greifen Sie erneut auf die Samba-Konfigurationsdatei zu.
$ sudo vim /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
Wenn Sie dieses Mal auf Ihren Server zugreifen, werden Sie einen zusätzlichen Ordner "Privat" bemerken. Um auf den Ordner zugreifen zu können, müssen Sie sich mit den Anmeldeinformationen des Samba-Benutzers authentifizieren. Geben Sie den Benutzernamen und das Passwort des Benutzers ein, den Sie im vorherigen Schritt erstellt haben, und klicken Sie auf "OK".
Schritt 5: Zugriff auf Samba Share über den Linux-Client
Um von einem Linux-Client aus auf die Freigabe zuzugreifen, stellen Sie zunächst sicher, dass das Samba-Client-Paket installiert ist.
$ sudo dnf install samba-client
Verwenden Sie dann den Befehl smbclient wie folgt
# smbclient ‘\2.168.43.121\private’ -U smbuser
Und damit ist diese Anleitung zum Einrichten von Samba auf RHEL, CentOS Stream, Rocky Linux und AlmaLinux abgeschlossen. Wir freuen uns über Ihr Feedback zu diesem Leitfaden.











