Website-Suche

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.

Verwandte Artikel: