Samba ist eine kostenlose Open-Source-Software, die verwendet werden kann, um Dateien, Ordner und Drucker zwischen Linux- und Windows-Systemen freizugeben. Es wird auch für Authentifizierung und Autorisierung, Namensauflösung und Dienstankündigung verwendet. Es kann auf verschiedenen Betriebssystemen ausgeführt werden, einschließlich Linux, Unix, OpenVMS und vielen mehr.
In diesem Tutorial lernen wir, wie man Samba installiert und als eigenständigen Freigabeserver unter CentOS 8 konfiguriert.
Voraussetzungen
- Ein Server mit CentOS 8.
- Auf Ihrem Server ist ein Root-Passwort konfiguriert.
Samba-Server installieren
Standardmäßig ist das Samba-Paket im CentOS-Standard-Repository verfügbar. Sie können es mit dem folgenden Befehl installieren:
dnf install samba samba-common samba-client -y
Starten Sie nach der Installation von Samba den SMB-Dienst und aktivieren Sie ihn nach dem Systemneustart mit dem folgenden Befehl:
systemctl start smb
systemctl enable smb
Sie können den Samba-Dienst jetzt mit dem folgenden Befehl überprüfen:
systemctl status smb
Sie sollten die folgende Ausgabe erhalten:
Erstellen Sie eine öffentliche Freigabe mit Samba
In diesem Abschnitt erstellen wir eine öffentliche Freigabe mit Samba, damit jeder ohne Passwort auf das öffentliche Freigabeverzeichnis zugreifen kann.
Erstellen Sie ein öffentliches Freigabeverzeichnis
Erstellen Sie zunächst einen freigegebenen Ordner mit dem Namen public und erstellen Sie außerdem zwei Dateien im öffentlichen Verzeichnis:
mkdir -p /samba/share/public
touch /samba/share/public/file1.txt
touch /samba/share/public/file2.txt
Weisen Sie als Nächstes die erforderlichen Berechtigungen und den Besitz mit dem folgenden Befehl zu:
chmod -R 0755 /samba/share/
chmod -R 0755 /samba/share/public
chown -R niemand:niemand /samba/share
chown -R niemand:niemand /samba/share/public
Samba konfigurieren
Als nächstes müssen Sie Samba konfigurieren, um ein öffentliches Verzeichnis freizugeben.
Erstellen Sie zuerst eine Sicherungskopie der Datei /etc/samba/smb.conf mit dem folgenden Befehl:
mv /etc/samba/smb.conf /etc/samba/smb.bak
Als nächstes erstellen Sie eine neue Samba-Konfigurationsdatei:
nano /etc/samba/smb.conf
Fügen Sie die folgenden Zeilen hinzu:
[global]workgroup =WORKGROUPserver string =Samba Server %vnetbios name =samba-serversecurity =usermap to guest =bad userdns proxy =no[Public]path =/samba/share/publicbrowsable =yeswritable =yesguest ok =yesread only =nein
Speichern und schließen Sie die Datei. Starten Sie dann den Samba-Dienst neu, um die Änderungen zu übernehmen:
systemctl smb neu starten
Als nächstes testen Sie die Samba-Konfiguration mit dem folgenden Befehl:
testparm
Sie sollten die folgende Ausgabe sehen:
Lade smb-Konfigurationsdateien aus /etc/samba/smb.confLoaded services file OK.Serverrolle:ROLE_STANDALONEDrücke die Eingabetaste, um einen Dump deiner Service-Definitionen zu sehen# Globale Parameter[global] DNS-Proxy =Keine Zuordnung zu Gast =Bad User netbios name =SAMBA-SERVER security =USER server string =Samba Server %v idmap config * :backend =tdb[Public] guest ok =Ja path =/samba/share/public read only =No
Konfigurieren Sie SELinux und die Firewall
Legen Sie als Nächstes die richtigen booleschen SELinux- und Sicherheitskontextwerte im Freigabeverzeichnis mit dem folgenden Befehl fest:
setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
semanage fcontext -a -t samba_share_t "/samba/share/public(/.*)?"restorecon /samba/share/ öffentlich
Als nächstes alle Samba-Dienste durch Firewalld mit dem folgenden Befehl:
firewall-cmd --add-service=samba --zone=public --permanent
firewall-cmd --reload
Zugriff auf Samba Share von Ubuntu Gnome
Um auf die Samba-Freigabe zuzugreifen, gehen Sie zum Remote-Computer, öffnen Sie den Gnome-Dateimanager und klicken Sie auf Verbinden nach Server wie unten gezeigt:
Geben Sie die IP-Adresse Ihres Samba-Servers ein und klicken Sie auf Verbinden Taste. Nach erfolgreicher Verbindung sollten Sie die Samba-Freigabe auf dem folgenden Bildschirm sehen:
Klicken Sie nun auf Öffentlich Verzeichnis, sollten Sie Ihre Dateien im folgenden Bildschirm sehen:
Greifen Sie über die Ubuntu-Befehlszeile auf Samba Share zu
Sie können auch über die Befehlszeile auf die Samba-Freigabe zugreifen.
Listen Sie zuerst alle verfügbaren Samba-Freigaben mit dem folgenden Befehl auf:
smbclient -L //45.58.38.51
Sie sollten die folgende Ausgabe sehen:
Domäne=[ARBEITSGRUPPE] OS=[Windows 6.1] Server=[Samba 4.10.4] Freigabename Typ Kommentar --------- ---- ------- Öffentliche Festplatte IPC$ IPC IPC Service (Samba Server 4.10.4)Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4] Server Kommentar --------- ------- Workgroup Master -- ------- -------
Sie können die Samba-Freigabe auch mit dem cifs-Protokoll einhängen. Installieren Sie dazu das Paket cifs-utils mit dem folgenden Befehl:
apt-get install cifs-utils -y
Hängen Sie als Nächstes die Samba-Freigabe mit dem folgenden Befehl in das Verzeichnis /mnt ein:
mount -t cifs //45.58.38.51/public /mnt/
Sie werden aufgefordert, das Passwort wie unten gezeigt einzugeben:
Passwort für [email protected]//45.58.38.51/public:
Drücken Sie einfach die Enter ohne ein Passwort einzugeben, um die Samba-Freigabe einzuhängen:
Sie können jetzt auf die Samba-Freigabe im /mnt-Verzeichnis zugreifen:
ls /mnt/
Sie sollten die folgende Ausgabe sehen:
Datei1.txt Datei2.txt
Private Freigabe mit Samba erstellen
In diesem Abschnitt erstellen wir eine private Freigabe mit Samba, sodass nur authentifizierte Benutzer auf das private Freigabeverzeichnis zugreifen können.
Benutzer und Gruppe erstellen
Erstellen Sie zuerst eine Gruppe namens private mit dem folgenden Befehl:
groupadd privat
Erstellen Sie als Nächstes einen neuen Benutzer namens privateuser und fügen Sie ihn der privaten Gruppe hinzu:
useradd -g privater privater Benutzer
Als nächstes legen Sie das Passwort für den Benutzer mit dem folgenden Befehl fest:
smbpasswd -ein privater Benutzer
Ausgabe:
Neues SMB-Passwort:Neues SMB-Passwort erneut eingeben:Benutzer privateuser hinzugefügt.
Erstellen Sie ein privates Freigabeverzeichnis
Erstellen Sie als Nächstes einen freigegebenen Ordner mit dem Namen private und erstellen Sie auch zwei Dateien im privaten Verzeichnis:
mkdir -p /samba/share/private
touch /samba/share/private/private1.txt
touch /samba/share/private/private2.txt
Weisen Sie als Nächstes mit dem folgenden Befehl die richtige Berechtigung und den Besitz zu:
chmod -R 0770 /samba/share/private
chown -R root:private /samba/share/private
Als nächstes konfigurieren Sie den SELinux-Kontext für das private Verzeichnis mit dem folgenden Befehl:
semanage fcontext –at samba_share_t "/samba/share/private(/.*)?"
restorecon /samba/share/private
Samba konfigurieren
Als nächstes öffnen Sie die Samba-Konfigurationsdatei und definieren die private Freigabe:
nano /etc/samba/smb.conf
Fügen Sie am Ende der Datei die folgenden Zeilen hinzu:
[Private]path =/samba/share/privatevalid users =@private guest ok =nowritable =yesbrowsable =yes
Speichern und schließen Sie die Datei und starten Sie dann den Samba-Dienst neu, um die Änderungen zu übernehmen:
systemctl smb neu starten
Überprüfen Sie als Nächstes die Samba-Konfiguration mit dem folgenden Befehl:
testparm
Sie sollten die folgende Ausgabe sehen:
Lade smb-Konfigurationsdateien aus /etc/samba/smb.confLoaded services file OK.Serverrolle:ROLE_STANDALONEDrücke die Eingabetaste, um einen Dump deiner Service-Definitionen zu sehen# Globale Parameter[global] DNS-Proxy =Keine Zuordnung zu Gast =Bad User netbios name =SAMBA-SERVER security =USER server string =Samba Server %v idmap config * :backend =tdb[Public] guest ok =Yes path =/samba/share/public read only =No[Private] path =/samba/share /private read only =Keine gültigen Benutzer =@private
Greifen Sie über die Ubuntu-Befehlszeile auf Samba Share zu
Greifen Sie zunächst mit dem folgenden Befehl auf die verfügbare Freigabe zu:
smbclient -L //45.58.38.51
Sie sollten die folgende Ausgabe sehen:
Domäne=[ARBEITSGRUPPE] OS=[Windows 6.1] Server=[Samba 4.10.4] Freigabename Typ Kommentar --------- ---- ------- Öffentliche Festplatte Private Festplatte IPC $ IPC IPC Service (Samba Server 4.10.4)Domäne=[ARBEITSGRUPPE] OS=[Windows 6.1] Server=[Samba 4.10.4] Server Kommentar --------- ------- Arbeitsgruppen-Master --------- -------
Verbinden Sie sich als Nächstes mit dem Samba-Server und listen Sie die verfügbare Freigabe mit dem folgenden Befehl auf:
smbclient //45.58.38.51/private -U privateuser
Sie werden wie unten gezeigt aufgefordert, ein Passwort einzugeben:
Geben Sie das Passwort des privaten Benutzers ein:
Geben Sie Ihr Passwort ein und drücken Sie die Eingabetaste, um wie unten gezeigt auf die Samba-Shell zuzugreifen:
Domäne=[ARBEITSGRUPPE] OS=[Windows 6.1] Server=[Samba 4.10.4]smb:\>
Listen Sie nun die verfügbare Freigabe mit dem folgenden Befehl auf:
smb:\>ls
Sie sollten die folgende Ausgabe sehen:
Verlassen Sie nun die Samba-Shell mit dem folgenden Befehl:
smb:\>beenden
Sie können die Samba-Freigabe auch im /opt-Verzeichnis einhängen:
mount -t cifs -o user=privateuser //45.58.38.51/private /opt
Sie werden wie unten gezeigt aufgefordert, ein Passwort einzugeben:
Passwort für [E-Mail-geschützt]//45.58.38.51/private:*********
Geben Sie Ihr Passwort ein und drücken Sie die Eingabetaste, um die Samba-Freigabe einzuhängen.
Sie können jetzt Ihre Samba-Freigabe im /opt-Verzeichnis wie unten gezeigt überprüfen:
ls /opt/
Ausgabe:
private1.txt private2.txt
Zugriff auf Samba Share von Ubuntu Gnome
Um auf die Samba-Freigabe zuzugreifen, gehen Sie zum Remote-Computer, öffnen Sie den Gnome-Dateimanager und klicken Sie auf Verbinden nach Server wie unten gezeigt:
Geben Sie die IP-Adresse Ihres Samba-Servers ein und klicken Sie auf Verbinden Taste. Nach einer erfolgreichen Verbindung sollten Sie die Samba-Freigabe auf dem folgenden Bildschirm sehen:
Klicken Sie nun auf Privat Verzeichnis, geben Sie Ihren Benutzernamen und Ihr Passwort ein und klicken Sie dann auf die Schaltfläche Verbinden. Sie sollten Ihre Dateien auf dem folgenden Bildschirm sehen:
Herzliche Glückwünsche! Sie haben den Samba-Server erfolgreich auf CentOS 8 installiert und konfiguriert.