So richten Sie den Samba-Server und -Client auf AlmaLinux ein
Dateiserver müssen häufig eine Vielzahl unterschiedlicher Client-Systeme aufnehmen. Das Ausführen von Samba ermöglicht es Windows-Systemen, eine Verbindung herzustellen und auf Dateien zuzugreifen, ebenso wie andere Linux-Systeme und MacOS. Eine alternative Lösung wäre der Betrieb eines FTP/SFTP-Servers, der auch die Verbindungen von vielen Systemen unterstützen kann.
In dieser Anleitung gehen wir die Anweisungen zum Einrichten eines Samba-Servers auf AlmaLinux durch. Dies ist eine großartige Möglichkeit, Ihren Dateiserver nach der Installation von AlmaLinux oder der Migration von CentOS zu AlmaLinux vorzubereiten. Wir werden auch sehen, wie Sie von anderen AlmaLinux-Client-Computern aus eine Verbindung zum Dateiserver herstellen können.
In diesem Tutorial lernen Sie:
- So installieren Sie Samba auf AlmaLinux
- So lassen Sie Samba durch firewalld zu
- So erstellen Sie einen Samba-Benutzer
- So konfigurieren Sie Samba für die Freigabe eines Verzeichnisses
- So lassen Sie Samba über SELinux zu
- So stellen Sie eine Verbindung zum Samba-Server über den AlmaLinux-Client her
Einrichten einer Samba-Freigabe auf AlmaLinux
Samba installieren
Der erste Schritt besteht darin, Samba auf AlmaLinux zu installieren, falls es noch nicht auf dem System ist. Verwenden Sie den folgenden Befehl, um die notwendigen Samba-Pakete über den dnf-Paketmanager zu installieren.
sudo dnf install samba samba-client
Sobald die Pakete installiert sind, müssen wir die smb- und nmb-Daemons beim Booten starten und aktivieren. Der erste ist der Daemon, der sich um die eigentlichen Übertragungen und Freigabevorgänge kümmert, während der zweite die NetBIOS-Namensauflösungen durchführt, sodass die Ressourcen beim Surfen im Netzwerk unter Windows angezeigt werden. Wir können nun beide systemd-Dienste mit nur einem Befehl aktivieren und starten:
sudo systemctl enable --now {smb,nmb}
Samba durch die Firewall zulassen
AlmaLinux wird standardmäßig mit firewalld ausgeliefert und blockiert andere Verbindungen von anderen Computern, die versuchen, auf unseren Samba-Dienst zuzugreifen. Wir können die richtigen Ports durch firewalld zulassen, indem wir die folgenden Befehle ausführen. Stellen Sie sicher, dass Sie Ihrem Befehl die Option --zone hinzufügen, falls dies für Ihre Konfiguration erforderlich ist.
sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload
Erstellen eines Samba-Benutzers
Es ist möglich, eine Samba-Freigabe einzurichten, für die keine Kontoanmeldeinformationen erforderlich sind, aber dies ist in den meisten Situationen aufgrund der offensichtlichen Sicherheitsbedenken nicht praktikabel. Stattdessen ist es besser, Benutzerkonten für die Personen zu erstellen, die eine Verbindung mit der Samba-Freigabe herstellen.
Jeder Samba-Benutzer benötigt ein normales Benutzerkonto auf dem AlmaLinux-System. Das bedeutet nicht, dass Sie ihnen ein Home-Verzeichnis oder eine Shell oder ähnliches geben müssen, aber sie benötigen immer noch ein Benutzerkonto. Wenn sie bereits ein Benutzerkonto auf dem System haben, reicht das aus. Andernfalls müssen wir ein brandneues Konto erstellen. Verwenden Sie den folgenden Befehl, um ein neues Benutzerkonto für unsere Samba-Freigabe zu erstellen.
sudo adduser -M sambauser -s /sbin/nologin
Die Option -M, die an den Befehl übergeben wird, ist die Kurzform für --no-create-home, die ziemlich selbsterklärend ist. Und die Option -s ermöglicht es uns, eine Shell anzugeben, in diesem Fall absichtlich eine ungültige: /sbin/nologin. Es ist nicht erforderlich, ein Passwort für dieses Benutzerkonto festzulegen, sondern nur ein Passwort für den Samba-Dienst.
Erstellen Sie ein Samba-Passwort für den neu erstellten Benutzer mit dem folgenden Befehl:
sudo smbpasswd -a sambauser
New SMB password:
Retype new SMB password:
Added user sambauser.
Konfigurieren von Samba für die Freigabe eines Verzeichnisses
Nachdem Samba nun ausgeführt und ein neuer Benutzer erstellt wurde, konfigurieren wir ein Verzeichnis, das wir über Samba freigeben möchten.
In unserem Beispiel erstellen wir unser freigegebenes Verzeichnis unter /mnt/shared.
sudo mkdir -p /mnt/shared
sudo chmod 777 /mnt/shared
Bearbeiten wir nun die Samba-Konfigurationsdatei, um den Dienst über dieses neue Verzeichnis zu informieren, das wir freigeben möchten. Verwenden Sie nano oder Ihren bevorzugten Texteditor, um die folgende Konfigurationsdatei zu öffnen.
sudo nano /etc/samba/smb.conf
Gehen Sie ganz zum Ende dieser Datei und fügen Sie die folgenden Zeilen ein.
[linuxconfig]
path = /mnt/shared
guest ok = no
read only = no
Beachten Sie, dass wir in diesem Beispiel unsere Freigabe linuxconfig genannt haben, indem wir sie in eckige Klammern gesetzt haben. Sie müssen diesen Namen kennen, wenn Sie die Freigabe auf einem Remoteserver bereitstellen.
Speichern Sie Ihre Änderungen an der Datei und beenden Sie sie. Starten Sie dann den Samba-Dienst neu, damit die neuen Änderungen wirksam werden.
sudo systemctl restart {smb,nmb}
Samba über SELinux zulassen
SELinux ist in AlmaLinux standardmäßig aktiviert. Wir müssen unserem freigegebenen Verzeichnis und unseren Dateien den entsprechenden Kontext zuweisen, indem wir den folgenden Befehl verwenden. Dies ermöglicht es Samba, zu funktionieren, während SELinux weiterhin im empfohlenen Erzwingungsmodus bleibt.
sudo chcon -R -t samba_share_t /mnt/shared
Verbinden mit dem Samba-Server über den AlmaLinux-Client
Wir haben jetzt einen voll funktionsfähigen Samba-Server mit einem dedizierten Samba-Benutzer und einem gemeinsamen Verzeichnis. Andere Systeme sollten in der Lage sein, sich mit diesem Verzeichnis zu verbinden, um Dateien vom Samba-Server hoch- oder herunterzuladen. In diesem Abschnitt wird gezeigt, wie Sie von einem anderen AlmaLinux-System (Client) aus eine Verbindung zum Samba-Server herstellen.
Auf dem Client-System müssen wir ein leeres Verzeichnis erstellen, das wir als Einhängepunkt für die entfernte Samba-Freigabe verwenden können.
sudo mkdir -p /mnt/fileserver
Verwenden Sie als Nächstes den Befehl mount, um die Remote-Samba-Freigabe in den Ordner zu mounten, den wir gerade erstellt haben. Sie können entweder den Hostnamen des Remote-Rechners oder die IP-Adresse verwenden.
sudo mount -t cifs -o username=sambauser //192.168.1.10/linuxconfig /mnt/fileserver
Nachdem Sie Ihr Passwort eingegeben haben, wird die Samba-Freigabe nun gemountet.
Alternativ können Sie über den Dateimanager von GNOME auf die Samba-Freigabe zugreifen, indem Sie die folgende Syntax eingeben. Ersetzen Sie die IP-Adresse nach Bedarf.
smb://127.0.0.1/linuxconfig/
Geben Sie den Pfad zur Samba-Freigabe ein
Nach dem Einloggen wird die Samba-Freigabe auf der linken Seite des GNOME-Dateimanagers gemountet.
Die Samba-Freigabe wurde gemountet
Abschließende Gedanken
In diesem Tutorial haben wir gelernt, wie man Samba auf AlmaLinux installiert. Wir haben auch gesehen, wie man eine Samba-Freigabe und einen Samba-Benutzer erstellt und die Firewall und SELinux so konfiguriert, dass Samba zugelassen wird. Dann gingen wir die Schritte durch, um von einem Client-Rechner aus eine Verbindung zu unserem Samba-Server herzustellen. Die Verwendung dieses Handbuchs sollte es Ihnen ermöglichen, einen Dateiserver zu erstellen, der Verbindungen von verschiedenen Betriebssystemen hosten kann.


