Das Ziel dieses Tutorials ist es, einen einfachen Samba-Server unter Ubuntu 20.04 zu konfigurieren, um Benutzer-Home-Verzeichnisse gemeinsam zu nutzen und anonymen Lese-/Schreibzugriff auf ausgewählte Verzeichnisse bereitzustellen.
Es gibt unzählige andere mögliche Samba-Konfigurationen, aber das Ziel dieses Handbuchs ist es, Sie mit einigen Grundlagen zu beginnen, die später erweitert werden können, um weitere Funktionen zu implementieren, die Ihren Anforderungen entsprechen.
In diesem Tutorial lernen Sie:
- So installieren Sie den Samba-Server
- So konfigurieren Sie die grundlegende Samba-Freigabe
- So teilen Sie Benutzer-Home-Verzeichnisse und öffentliche anonyme Verzeichnisse
- So mounten Sie eine Samba-Freigabe unter MS Windows 10
So konfigurieren Sie die Samba-Serverfreigabe unter Ubuntu 20.04 Focal Fossa Linux
Softwareanforderungen und verwendete Konventionen
Kategorie | Anforderungen, Konventionen oder verwendete Softwareversion |
---|---|
System | Ubuntu 20.04 Focal Fossa installiert oder aktualisiert |
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 |
So konfigurieren Sie die Samba Server-Freigabe unter Ubuntu 20.04 Schritt-für-Schritt-Anleitung
- Beginnen wir mit der Installation des Samba-Servers. Dies ist eine ziemlich triviale Aufgabe. Installieren Sie zuerst die
tasksel
Befehl, wenn er noch nicht auf Ihrem Ubuntu 20.04-System verfügbar ist. Sobald Sie fertig sind, verwenden Sietasksel
um den Samba-Server zu installieren.$ sudo apt install tasksel $ sudo tasksel install samba-server
- Wir werden mit einer frischen, sauberen Konfigurationsdatei beginnen, während wir auch die Standard-Konfigurationsdatei als Backup zu Referenzzwecken behalten. Führen Sie die folgenden Linux-Befehle aus, um eine Kopie einer vorhandenen Konfigurationsdatei zu erstellen und eine neue
/etc/samba/smb.conf
zu erstellen Konfigurationsdatei:$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup $ sudo bash -c 'grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf'
- Samba hat ein eigenes Benutzerverwaltungssystem. Allerdings muss jeder Benutzer, der in der Samba-Benutzerliste vorhanden ist, auch in
/etc/passwd
vorhanden sein Datei. Wenn Ihr Systembenutzer noch nicht existiert, kann er daher nicht in/etc/passwd
gefunden werden erstellen Sie zuerst einen neuen Benutzer mituseradd
Befehl, bevor Sie einen neuen Samba-Benutzer erstellen. Sobald Ihr neuer Systembenutzer, z.linuxconfig
verwenden Siesmbpasswd
Befehl zum Erstellen eines neuen Samba-Benutzers:$ sudo smbpasswd -a linuxconfig New SMB password: Retype new SMB password: Added user linuxconfig.
- Der nächste Schritt besteht darin, die Home-Verzeichnisfreigabe hinzuzufügen. Verwenden Sie Ihren bevorzugten Texteditor, z. atom, sublime, um unsere neue
/etc/samba/smb.conf
zu bearbeiten samba-Konfigurationsdatei und fügen Sie die folgenden Zeilen am Ende der Datei hinzu:[homes] comment = Home Directories browseable = yes read only = no create mask = 0700 directory mask = 0700 valid users = %S
- Fügen Sie optional eine neue öffentlich verfügbare Samba-Freigabe mit Lese- und Schreibzugriff hinzu, auf die anonyme Benutzer/Gastbenutzer zugreifen können. Erstellen Sie zunächst ein Verzeichnis, das Sie freigeben möchten, und ändern Sie dessen Zugriffsberechtigung:
$ sudo mkdir /var/samba $ sudo chmod 777 /var/samba/
Sobald Sie fertig sind, öffnen Sie erneut die
/etc/samba/smb.conf
samba-Konfigurationsdatei und fügen Sie die folgenden Zeilen am Ende der Datei hinzu:[public] comment = public anonymous access path = /var/samba/ browsable =yes create mask = 0660 directory mask = 0771 writable = yes guest ok = yes
- Überprüfen Sie Ihre aktuelle Konfiguration. Ihre
/etc/samba/smb.conf
Die Samba-Konfigurationsdatei sollte zu diesem Zeitpunkt ähnlich wie die folgende aussehen:[global] workgroup = WORKGROUP server string = %h server (Samba, Ubuntu) log file = /var/log/samba/log.%m max log size = 1000 logging = file panic action = /usr/share/samba/panic-action %d server role = standalone server obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no [homes] comment = Home Directories browseable = yes read only = no create mask = 0700 directory mask = 0700 valid users = %S [public] comment = public anonymous access path = /var/samba/ browsable =yes create mask = 0660 directory mask = 0771 writable = yes guest ok = yes
- Unsere grundlegende Samba-Serverkonfiguration ist abgeschlossen. Denken Sie daran, Ihren Samba-Server immer neu zu starten, nachdem Änderungen an
/etc/samba/smb.conf
vorgenommen wurden Konfigurationsdatei:$ sudo systemctl restart smbd
- (optional) Lassen Sie uns einige Testdateien erstellen. Sobald wir unsere Samba-Freigaben erfolgreich gemountet haben, sollten uns die folgenden Dateien zur Verfügung stehen:
$ touch /var/samba/public-share $ touch /home/linuxconfig/home-share
- Zu diesem Zeitpunkt sind wir bereit, unsere Aufmerksamkeit auf MS Windows zu richten. Das Mounten von Netzlaufwerkverzeichnissen kann für jede MS Windows-Version etwas anders sein. Diese Anleitung verwendet MS Windows 10 in der Rolle eines Samba-Clients. Öffnen Sie zunächst Ihren
Windows Explorer
Klicken Sie dann mit der rechten Maustaste aufNetwork
und klicken Sie aufMap network drive...
Registerkarte. - Wählen Sie den Laufwerksbuchstaben und geben Sie den Speicherort der Samba-Freigabe ein, bei dem es sich um die IP-Adresse oder den Hostnamen Ihres Samba-Servers handelt, gefolgt vom Namen des Home-Verzeichnisses des Benutzers. Stellen Sie sicher, dass Sie
Connect using different credentials
ankreuzen wenn sich Ihr Benutzername und Passwort von denen unterscheiden, die zuvor inSchritt 3 erstellt wurden . - Geben Sie das Passwort des Benutzers ein, wie es in
Schritt 3 erstellt wurde . - Durchsuchen Sie das Home-Verzeichnis des Benutzers. Sie sollten die zuvor erstellte Testdatei sehen können. Außerdem sollten Sie in der Lage sein, neue Verzeichnisse und Dateien zu erstellen.
- Wiederholen Sie die Einhängeschritte auch für die öffentlich anonyme Samba-Verzeichnisfreigabe.
- Bestätigen Sie, dass Sie auf das öffentliche Samba-Freigabeverzeichnis zugreifen können.
Alles erledigt. Fühlen Sie sich jetzt frei, Ihrer Samba-Share-Server-Konfiguration weitere Funktionen hinzuzufügen.