Dateiserver müssen häufig eine Vielzahl unterschiedlicher Clientsysteme aufnehmen. Das Ausführen von Samba ermöglicht es Windows-Systemen, sich mit Dateien zu verbinden und darauf zuzugreifen, sowie mit anderen Linux-Systemen und MacOS. Eine alternative Lösung wäre, einen FTP/SFTP-Server zu betreiben, der auch die Verbindungen von vielen Systemen unterstützen kann.
In diesem Handbuch 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 man sich von anderen AlmaLinux-Client-Computern aus mit dem Dateiserver verbindet.
In diesem Tutorial lernen Sie:
- Wie man Samba auf AlmaLinux installiert
- Wie man Samba durch Firewalld erlaubt
- So erstellen Sie einen Samba-Benutzer
- Wie man Samba konfiguriert, um ein Verzeichnis freizugeben
- Wie man Samba durch SELinux erlaubt
- Wie man vom AlmaLinux-Client aus eine Verbindung zum Samba-Server herstellt
Kategorie | Anforderungen, Konventionen oder verwendete Softwareversion |
---|---|
System | AlmaLinux |
Software | Samba |
Andere | Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl. |
Konventionen | # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden |
Samba installieren
Der erste Schritt besteht darin, Samba auf AlmaLinux zu installieren, falls es nicht bereits auf dem System vorhanden ist. Verwenden Sie den folgenden Befehl, um die erforderlichen Samba-Pakete über den dnf-Paketmanager zu installieren.
$ sudo dnf install samba samba-client
Sobald die Pakete installiert sind, müssen wir smb
starten und aktivieren und das nmb
Dämonen beim Booten. Der erste ist der Daemon, der sich um die eigentlichen Übertragungen und Freigabeoperationen kümmert, während der zweite das NetBIOS
durchführt Namensauflösungen, sodass die Ressourcen beim Durchsuchen des Netzwerks unter Windows angezeigt werden. Wir können jetzt 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 aktivierter Firewall geliefert 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. Achten Sie darauf, --zone
hinzuzufügen Option zu Ihrem Befehl, wenn dies für Ihre Konfiguration erforderlich ist.
$ sudo firewall-cmd --permanent --add-service=samba $ sudo firewall-cmd --reload
Erstellen Sie einen Samba-Benutzer
Es ist möglich, eine Samba-Freigabe einzurichten, für deren Verbindung keine Kontoanmeldeinformationen erforderlich sind, aber aufgrund der offensichtlichen Sicherheitsbedenken ist dies in den meisten Situationen nicht praktikabel. Stattdessen ist es besser, Benutzerkonten für die Personen zu erstellen, die sich mit der Samba-Freigabe verbinden.
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 brauchen trotzdem ein Benutzerkonto. Wenn sie bereits ein Benutzerkonto auf dem System haben, dann 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
Das -M
Die an den Befehl übergebene Option ist die Kurzform für --no-create-home
, was ziemlich selbsterklärend ist. Und das -s
Option erlaubt es uns, eine Shell anzugeben, in diesem Fall absichtlich eine ungültige:/sbin/nologin
. Für dieses Benutzerkonto muss kein Passwort festgelegt werden, sondern nur ein Passwort für den Samba-Dienst.
Erstellen Sie mit dem folgenden Befehl ein Samba-Passwort für den neu erstellten Benutzer:
$ sudo smbpasswd -a sambauser New SMB password: Retype new SMB password: Added user sambauser.
Konfiguriere Samba, um ein Verzeichnis freizugeben
Nachdem Samba nun läuft und ein neuer Benutzer erstellt wurde, konfigurieren wir ein Verzeichnis, das wir über Samba freigeben möchten.
Für unser 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 dem Dienst dieses neue Verzeichnis mitzuteilen, 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 Sie es in Klammern setzen. Sie müssen diesen Namen kennen, wenn Sie die Freigabe auf einem Remote-Server 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 durch SELinux zulassen
SELinux ist in AlmaLinux standardmäßig aktiviert. Wir müssen unserem freigegebenen Verzeichnis und den Dateien den entsprechenden Kontext zuweisen, indem wir den folgenden Befehl verwenden. Dadurch kann Samba funktionieren, während SELinux immer noch im empfohlenen Erzwingungsmodus bleibt.
$ sudo chcon -R -t samba_share_t /mnt/shared
Verbindung zum Samba-Server vom AlmaLinux-Client herstellen
Wir haben jetzt einen voll funktionsfähigen Samba-Server mit einem dedizierten Samba-Benutzer und einem gemeinsam genutzten Verzeichnis. Andere Systeme sollten sich mit diesem Verzeichnis verbinden können, um Dateien vom Samba-Server hoch- oder herunterzuladen. Dieser Abschnitt zeigt, wie man sich von einem anderen AlmaLinux (Client)-System aus mit dem Samba-Server verbindet.
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 mount
Befehl, 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 der Anmeldung wird die Samba-Freigabe auf der linken Seite des Dateimanagers von GNOME bereitgestellt.
Die Samba-Freigabe wurde gemountetAbschlussgedanken
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.