Dateifreigaben sind wichtig für die Zusammenarbeit in jedem Netzwerk. In dieser Artikelserie zeige ich Ihnen, wie Samba Ihnen helfen kann, Dateifreigaben auf Linux-Servern einzurichten und bereitzustellen, auf die sowohl Linux- als auch Windows-Clients zugreifen können.
Was ist Samba?
Bevor wir eintauchen und Dateifreigaben einrichten, lassen Sie uns behandeln, was Samba ist und was es für Sie tun kann.
Samba ist eine Suite von Anwendungen, die das Server Message Block (SMB)-Protokoll implementieren. Viele Betriebssysteme, einschließlich Microsoft Windows, verwenden das SMB-Protokoll für Client-Server-Netzwerke. Samba ermöglicht es Linux-/Unix-Rechnern, mit Windows-Rechnern in einem Netzwerk zu kommunizieren.
Samba ist Open-Source-Software. Ursprünglich wurde Samba 1991 für die schnelle und sichere Datei- und Druckfreigabe für alle Clients entwickelt, die das SMB-Protokoll verwenden. Seitdem hat es sich weiterentwickelt und weitere Funktionen hinzugefügt. Heute bietet Samba eine Reihe von Anwendungen, die eine nahtlose Vernetzung und Interoperabilität zwischen *nix und Windows ermöglichen.
Installieren Sie die Samba-Pakete
In diesem Beispiel verwende ich CentOS 8 mit dem Hostnamen centos
als mein Samba-Server mit einer IP-Adresse von 192.168.1.122. Das einzige Paket, das Sie installieren müssen, ist Samba, aber ich würde gerne andere Client-Tools wie samba-common
einbinden und samba-client
um unsere Freigaben später zu testen.
# yum install samba samba-client samba-common -y
Erstellen Sie ein Verzeichnis zum Teilen und legen Sie seine Berechtigungen fest
Nachdem Sie die erforderlichen Pakete auf dem Server installiert haben, erstellen wir ein Verzeichnis und stellen die erforderlichen Berechtigungen für das Verzeichnis bereit. Erstellen Sie ein Verzeichnis namens share
in unserem Stammverzeichnis. Sie können dieses Verzeichnis beliebig benennen und ihm Lese-, Schreib- und Ausführungsberechtigungen erteilen. In diesem Beispiel verlassen wir uns auf die Samba-Konfiguration, um den Lese- und Schreibzugriff auf das freigegebene Verzeichnis zu steuern.
# mkdir /share
# chmod -R 777 /share
Konfigurieren Sie eine Freigabe
Nachdem wir die erforderlichen Pakete installiert haben, ist es an der Zeit, das freigegebene Verzeichnis zu konfigurieren. Die Konfigurationsdatei befindet sich unter /etc/samba
. Fügen Sie mit Ihrem bevorzugten Texteditor Folgendes an /etc/samba/smb.conf
an . Lassen Sie den Rest der Konfigurationsdatei unverändert und dies sollte für unser Setup gut sein.
# vim /etc/samba/smb.conf
[myshare]
comment = My share
path = /share
read only = No
Ich habe eine Freigabe namens myshare
erstellt und einen Pfad zur Freigabe bereitgestellt, die sich in unserem Fall unter /share
befindet . Ich habe ihm dann Lese-/Schreibberechtigungen mit read only = No
gegeben . Es gibt viele andere Konfigurationsparameter, die Sie hier übergeben können, aber für unser Setup sind diese Einstellungen gut.
Überprüfen Sie die Samba-Konfiguration
Samba bietet ein Tool zum Überprüfen unserer Konfigurationsdatei. Wir können überprüfen, ob unsere Konfigurationsdatei Fehler enthält, indem wir testparm
verwenden Befehl.
# testparm
Als nächstes müssen wir ein Samba-Benutzerkonto erstellen, damit Samba in Samba-Sitzungen mit Freigaben kommunizieren kann. Das smbpasswd
Der Befehl hat mehrere Funktionen, je nachdem, ob Sie den Befehl als root
ausführen oder als Standardbenutzer. Wenn Sie smbpasswd
ausstellen ohne irgendwelche Argumente als non-root
Benutzer, standardmäßig smbpasswd
ändert das Samba-Passwort des aktuell angemeldeten Benutzers. Wenn Sie smbpasswd
ausführen Befehl als root
, können Sie neue Samba-Konten erstellen. Sie können ein Samba-Konto nur für bestehende Linux-Benutzerkonten erstellen.
# smbpasswd -a user
New SMB password:
Retype new SMB password:
Wir müssen SELinux auf /share
konfigurieren Verzeichnis, damit der Samba-Dienst die richtigen Berechtigungen hat.
# semanage fcontext -a -t samba_share_t "/share(/.*)?"
# restorecon -R -v /share
Als nächstes müssen wir smb
aktivieren und starten und nmb
Dienste.
# systemctl enable smb
# systemctl start smb
#systemctl enable nmb
#systemctl start nmb
Wenn Sie firewalld
haben auf Ihrem Server läuft, müssen wir es so konfigurieren, dass es Samba-Verkehr zulässt. Verwenden Sie dazu das firewall-cmd
Befehl. Vergessen Sie nicht, diese Änderungen dauerhaft zu machen und firewalld
neu zu laden .
Jetzt haben wir unsere Dienste aktiviert und gestartet. Mit dem smbclient
können wir überprüfen, ob die Freigabe vom Server verfügbar ist Werkzeug. Aus diesem Grund habe ich die Samba-Client-Tools auf dem lokalen Rechner installiert. Der Befehl verwendet die folgende Syntax:
smbclient -U
# smbclient -U user -L 192.168.1.122
Enter SAMBA\user's password:
Prüfen wir, ob wir auf die Freigabe zugreifen können, indem wir den folgenden Befehl auf dem Server ausführen:
# smbclient -U user //192.168.1.122/myshare
Enter SAMBA\user's password:
Try "help" to get a list of possible commands.
smb: \>
Schluss machen
Wir haben den Samba-Dateifreigabedienst auf unserem Linux-Server installiert und konfiguriert. Wir konnten auf diese Freigaben auf dem lokalen Computer zugreifen. Im nächsten Artikel richten wir einen Linux-Client und einen Windows 10-Client ein, um auf die gerade erstellte Freigabe zuzugreifen.
[ Möchten Sie mehr über die Linux-Systemadministration erfahren? Nehmen Sie an einem Red Hat Systemadministrationskurs teil. ]