Samba, auch als „Server Message Block“ bekannt, ist ein Common Internet File System-Protokoll, das für die gemeinsame Nutzung von Dateien, Verzeichnissen und Druckdiensten über ein Netzwerk unter Linux verwendet wird. Es ermöglicht Ihnen, Lese-, Schreib- und anonyme Zugriffsberechtigungen für ein freigegebenes Verzeichnis zu erteilen. Es ist äußerst nützlich für diejenigen, die sowohl Windows- als auch Linux-Systeme in ihrem Netzwerk verwenden.
In diesem Beitrag erklären wir, wie man Samba installiert und verwendet, um Dateien und Verzeichnisse unter Ubuntu 20.04 freizugeben.
Voraussetzungen
- Ein frischer Ubuntu 20.04-Server auf der Atlantic.Net Cloud Platform
- Ein auf Ihrem Server konfiguriertes Root-Passwort
Schritt 1 – Atlantic.Net Cloud-Server erstellen
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu 20.04 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem Ubuntu 20.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
apt-get update -y
Schritt 2 – Samba-Server installieren
apt-get install samba samba-common-bin acl -y
Starten Sie nach der Installation die Samba-Dienste und ermöglichen Sie ihnen, beim Systemneustart zu starten:
systemctl start smbd nmbdsystemctl enable smbd nmbd
Sie können die installierte Version von Samba mit dem folgenden Befehl überprüfen:
smbd --version
Ausgabe:
Version 4.11.6-Ubuntu
Schritt 3 – Erstellen Sie eine private Freigabe mit Samba
In diesem Abschnitt zeigen wir Ihnen, wie Sie mit Samba eine private Freigabe erstellen, sodass nur authentifizierte Benutzer auf die Freigabe zugreifen können.
Bearbeiten Sie dazu die Samba-Hauptkonfigurationsdatei:
nano /etc/samba/smb.conf
Fügen Sie als Nächstes die folgenden Zeilen am Ende der Datei hinzu:
[Private]comment =private sharepath =/data/private/browseable =yesguest ok =nowritable =yesvalid users =@samba
Speichern und schließen Sie die Datei und erstellen Sie dann einen neuen Benutzer mit dem folgenden Befehl:
adduser user1
Sie sollten die folgende Ausgabe sehen:
Hinzufügen des Benutzers `user1' ...Hinzufügen der neuen Gruppe `user1' (1000) ...Hinzufügen des neuen Benutzers `user1' (1000) mit der Gruppe `user1' ...Erstellen des Home-Verzeichnisses `/home/user1' . ..Kopieren von Dateien aus `/etc/skel' ...Neues Passwort:Neues Passwort erneut eingeben:passwd:Passwort erfolgreich aktualisiertÄndern der Benutzerinformationen für Benutzer1Geben Sie den neuen Wert ein oder drücken Sie die EINGABETASTE für den standardmäßigen vollständigen Namen []:Raumnummer [] :Telefon Arbeit []:Telefon Privat []:Andere []:Sind die Informationen korrekt? [J/n] Ja
Legen Sie als Nächstes mit dem folgenden Befehl ein Samba-Passwort fest:
smbpasswd -a user1
Sie sollten die folgende Ausgabe sehen:
Neues SMB-Passwort:Neues SMB-Passwort erneut eingeben:Benutzer user1 hinzugefügt.
Erstellen Sie als Nächstes eine Samba-Gruppe mit dem folgenden Befehl:
groupadd samba
Als nächstes fügen Sie user1 zur Samba-Gruppe hinzu:
gpasswd -a user1 samba
Erstellen Sie als Nächstes einen freigegebenen Ordner, den Sie in der Datei smb.conf angegeben haben:
mkdir -p /data/privatetouch /data/private/file1
Geben Sie als Nächstes Lese- und Schreibberechtigungen für die Samba-Freigabe:
setfacl -R -m "g:samba:rwx" /data/private
Überprüfen Sie als Nächstes die Samba-Konfigurationsdatei mit dem folgenden Befehl auf Fehler:
testparm
Starten Sie als Nächstes den Samba-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart smbd nmbd
Schritt 4 – Erstellen Sie eine öffentliche Freigabe mit Samba
In diesem Abschnitt zeigen wir Ihnen, wie Sie mit Samba eine öffentliche Freigabe erstellen, sodass jeder auf die öffentliche Freigabe zugreifen kann, ohne einen Benutzernamen und ein Passwort anzugeben.
Um eine öffentliche Freigabe zu erstellen, bearbeiten Sie die Samba-Hauptkonfigurationsdatei:
nano /etc/samba/smb.conf
Fügen Sie am Ende der Datei die folgenden Zeilen hinzu:
[Public]comment =public sharepath =/data/public/browseable =yeswritable =yesguest ok =yes
Speichern und schließen Sie die Datei und erstellen Sie dann ein öffentliches Verzeichnis:
mkdir -p /data/public/touch /data/public/file2
Legen Sie als Nächstes die richtigen Berechtigungen für das öffentliche Verzeichnis fest:
setfacl -R -m "u:nobody:rwx" /data/public
Starten Sie als Nächstes den Samba-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart smbd nmbd
Schritt 5 – Greifen Sie von Linux aus auf Samba Share zu
Um auf die Samba-Freigabe zugreifen zu können, müssen Sie den Samba-Client auf dem Linux-System installieren. Sie können es mit dem folgenden Befehl installieren:
apt-get install smbclient cifs-utils -y
Führen Sie als Nächstes den folgenden Befehl aus, um vom Samba-Server aus auf die private Freigabe zuzugreifen:
smbclient //samba-ip-adresse/private -U user1
Sie werden aufgefordert, ein Passwort für Benutzer1 anzugeben:
Geben Sie das Passwort von WORKGROUP\user1 ein:Versuchen Sie "help", um eine Liste möglicher Befehle zu erhalten.
Sobald Sie verbunden sind, führen Sie den folgenden Befehl aus, um die Samba-Freigabe aufzulisten:
smb:\> list0:server=69.87.221.84, share=private
Listen Sie als Nächstes alle Dateien im privaten Freigabeverzeichnis auf:
smb:\>ls
Sie sollten die folgende Ausgabe sehen:
Als nächstes verlassen Sie die Samba-Shell mit dem folgenden Befehl:
smb:\> beenden
Wenn Sie sich mit der öffentlichen Freigabe verbinden möchten, führen Sie den folgenden Befehl aus:
smbclient //samba-ip-adresse/public
Drücken Sie einfach die Eingabetaste, ohne ein Passwort einzugeben:
Geben Sie das Passwort von WORKGROUP\root ein:Versuchen Sie "help", um eine Liste möglicher Befehle zu erhalten.smb:\>
Führen Sie als Nächstes den folgenden Befehl aus, um alle Dateien in der öffentlichen Freigabe aufzulisten:
smb:\>ls
Ausgabe:
Schritt 6 – Samba-Freigabe unter Linux bereitstellen
Samba erlaubt Ihnen auch, ein gemeinsam genutztes Verzeichnis auf dem Client-System einzuhängen, damit Sie darauf zugreifen und es verwenden können.
Erstellen Sie zunächst ein Verzeichnis auf dem Clientsystem, in dem Sie die Samba-Freigabe einhängen möchten:
mkdir /mount
Führen Sie als Nächstes den folgenden Befehl aus, um das private Freigabeverzeichnis auf dem Clientsystem bereitzustellen:
mount -t cifs -o username=user1 //samba-ip-address/private /mount
Sie werden aufgefordert, ein Passwort von user1 anzugeben, um das Verzeichnis zu mounten:
Passwort für [email protected]//69.87.221.84/private:*********
Als nächstes überprüfen Sie das gemountete Verzeichnis mit dem folgenden Befehl:
df -h
Sie sollten Ihr privates freigegebenes Verzeichnis sehen, das im /mount-Verzeichnis eingehängt ist:
Verwendete Dateisystemgröße Verfügbare Verwendung % Eingehängt onudev 981M 0 981M 0% /devtmpfs 199M 2.2M 197M 2% /run/dev/sda1 50G 1.9G 46G 4% /tmpfs 994M 0 994M 0% /dev/shmtmpfs 5.0M 0 5.0M 0% /run/locktmpfs 994M 0 994M 0% /sys/fs/cgrouptmpfs 199M 0 199M 0% /run/user/0//69.87.221.84/private 50G 4.0G 46G 9% /mount
Greifen Sie nun mit dem folgenden Befehl lokal auf die Samba-Freigabe zu:
ls /mount/
Sie sollten die folgende Ausgabe sehen:
Datei1
Schlussfolgerung
In der obigen Anleitung haben Sie gelernt, wie Sie Samba installieren und verwenden, um Dateien und Verzeichnisse zwischen Linux-Systemen freizugeben. Probieren Sie VPS-Hosting von Atlantic.Net aus!