Dateiserver müssen häufig eine Vielzahl unterschiedlicher Clientsysteme aufnehmen. Das Ausführen von Samba auf Ubuntu 22.04 Jammy Jellyfish 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 auf Ubuntu 22.04 zu betreiben, der auch die Verbindungen von vielen Systemen unterstützen kann.
Das Ziel dieses Tutorials ist die Konfiguration eines einfachen Samba-Servers auf Ubuntu 22.04 Jammy Jellyfish, 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, Ihnen den Einstieg in einige Grundlagen zu erleichtern, die später erweitert werden können, um weitere Funktionen zu implementieren, die Ihren Anforderungen entsprechen. Außerdem erfahren Sie, wie Sie von einem Windows-System aus auf den Ubuntu 22.04 Samba-Server zugreifen.
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
Kategorie | Anforderungen, Konventionen oder verwendete Softwareversion |
---|---|
System | Ubuntu 22.04 Jammy Jellyfish |
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 22.04 Schritt-für-Schritt-Anleitung
- Beginnen wir mit der Installation des Samba-Servers. Dies ist eine ziemlich triviale Aufgabe. Öffnen Sie zunächst ein Befehlszeilenterminal und installieren Sie die
tasksel
Befehl, wenn er noch nicht auf Ihrem Ubuntu 22.04-System verfügbar ist. Sobald Sie fertig sind, verwenden Sietasksel
um den Samba-Server zu installieren.$ sudo apt update $ 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 der 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 zB.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 Aamba-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
Zugriff auf Ubuntu 22.04 Samba-Freigabe von MS Windows
- 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...
Tab. - Wählen Sie als Nächstes den Laufwerksbuchstaben aus 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 Samba unterscheidet, das mit demsmbpasswd
erstellt wurde Befehl auf Ubuntu 22.04. - Geben Sie das Passwort des Samba-Benutzers ein, wie es zuvor unter Ubuntu 22.04 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.
Abschlussgedanken
In diesem Tutorial haben wir gelernt, wie man Samba auf Ubuntu 22.04 Jammy Jellyfish Linux installiert. Wir haben auch gesehen, wie man eine Samba-Freigabe und einen Samba-Benutzer erstellt und den Lese- und Schreibzugriff konfiguriert. Dann gingen wir die Schritte durch, um von einem Client-Rechner, auf dem MS Windows läuft, 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.