So installieren Sie Samba unter Ubuntu für die Dateifreigabe unter Windows
Samba ist eine kostenlose/Open-Source-Software für die gemeinsame Nutzung von Dateien und Druckdiensten zwischen Unix-ähnlichen Systemen, einschließlich Linux- und Windows-Hosts im selben Netzwerk.
In dieser Anleitung zeigen wir, wie man Samba4 für die grundlegende Dateifreigabe zwischen Ubuntu-Systemen und Windows-Rechnern einrichtet. Wir werden zwei mögliche Szenarien behandeln: anonym (unsicher) sowie sichere Dateifreigabe.
Empfohlene Lektüre: So installieren Sie Samba4 auf CentOS/RHEL 7 für die Dateifreigabe unter Windows
Beachten Sie, dass Samba ab Version 4.0 als Active Directory (AD)-Domänencontroller (DC) verwendet werden kann. Wir haben eine spezielle Reihe zum Einrichten des Samba4 Active Directory Domain Controllers organisiert, die Schlüsselthemen unter Ubuntu, CentOS und Windows umfasst.
- Einrichten des Samba4 Active Directory-Domänencontrollers
Installieren und konfigurieren Sie Samba in Ubuntu
Der Samba-Server kann wie gezeigt mit dem apt-Paketmanager-Tool aus den Standard-Ubuntu-Repositorys installiert werden.
sudo apt install samba samba-common python-dnspython
Sobald der Samba-Server installiert ist, ist es nun an der Zeit, den Samba-Server als unsichere anonyme und sichere Dateifreigabe zu konfigurieren.
Dazu müssen wir die Hauptkonfigurationsdatei von Samba /etc/samba/smb.conf bearbeiten (in der verschiedene Konfigurationsanweisungen erläutert werden).
Sichern Sie zunächst die ursprüngliche Samba-Konfigurationsdatei wie folgt.
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
Anschließend konfigurieren wir Samba für anonyme und sichere Dateifreigabe-Dienste, wie unten erläutert.
Wichtig: Bevor Sie fortfahren, stellen Sie sicher, dass sich der Windows-Computer in derselben Arbeitsgruppe befindet, die auf dem Ubuntu-Server konfiguriert wird.
Überprüfen Sie die Windows-Maschinenarbeitsgruppeneinstellungen
Melden Sie sich bei Ihrem Windows-Computer an, klicken Sie mit der rechten Maustaste auf „Dieser PC“ oder „Mein Computer“ → Eigenschaften → Erweiterte Systemeinstellungen → Computername, um die Arbeitsgruppe zu überprüfen.
Alternativ können Sie die Eingabeaufforderung öffnen und sie anzeigen, indem Sie den folgenden Befehl ausführen und nach „Workstation-Domäne“ suchen.
>net config workstation
Sobald Sie Ihre Windows-Arbeitsgruppe kennen, ist es an der Zeit, den Samba-Server für die Dateifreigabe zu konfigurieren.
Anonyme Samba-Dateifreigabe
Erstellen Sie zunächst ein gemeinsames Samba-Verzeichnis, in dem die Dateien gespeichert werden.
sudo mkdir -p /srv/samba/anonymous_shares
Legen Sie dann die entsprechenden Berechtigungen für das Verzeichnis fest.
sudo chmod -R 0775 /srv/samba/anonymous_shares
sudo chown -R nobody:nogroup /srv/samba/anonymous_shares
Öffnen Sie nun die Konfigurationsdatei.
sudo vi /etc/samba/smb.conf
OR
sudo nano /etc/samba/smb.conf
Bearbeiten oder ändern Sie anschließend die Richtlinieneinstellungen wie unten beschrieben.
global]
workgroup = WORKGROUP
netbios name = ubuntu
security = user
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous_shares
browsable =yes
writable = yes
guest ok = yes
read only = no
force user = nobody
Überprüfen Sie nun die aktuellen Samba-Einstellungen, indem Sie den folgenden Befehl ausführen.
testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
Global parameters
[global]
netbios name = UBUNTU
server string = %h server (Samba, Ubuntu)
server role = standalone server
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = No
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous_shares
force user = nobody
read only = No
guest ok = Yes
Starten Sie dann die Samba-Dienste neu, um die oben genannten Änderungen zu übernehmen.
sudo systemctl restart smbd [Systemd]
sudo service smbd restart [Sys V]
Testen der anonymen Samba-Dateifreigabe
Gehen Sie zum Windows-Computer und öffnen Sie „Netzwerk“ in einem Windows Explorer-Fenster. Klicken Sie auf den Ubuntu-Host (TECMINT in unserem Fall) oder versuchen Sie andernfalls, über seine IP-Adresse auf den Samba-Server zuzugreifen.
\2.168.43.168
Hinweis: Verwenden Sie den Befehl ifconfig, um die IP-Adresse Ihres Ubuntu-Servers abzurufen.
Öffnen Sie dann das Verzeichnis Anonym und versuchen Sie, dort Dateien hinzuzufügen, um sie mit anderen Benutzern zu teilen.
Sichere Samba-Dateifreigabe
Um eine Samba-Freigabe mit einem Passwort zu schützen, müssen Sie eine Gruppe „smbgrp“ erstellen und für jeden Benutzer ein Passwort festlegen. In diesem Beispiel verwende ich aaronkilik als Benutzer und das Passwort als „tecmint“.
sudo addgroup smbgrp
sudo usermod aaronkilik -aG smbgrp
sudo smbpasswd -a aaronkilik
Hinweis: Der Samba-Sicherheitsmodus: security=user erfordert, dass Clients einen Benutzernamen und ein Passwort eingeben, um eine Verbindung zu Freigaben herzustellen.
Samba-Benutzerkonten sind von Systemkonten getrennt. Sie können jedoch optional das Paket libpam-winbind installieren, das zum Synchronisieren von Systembenutzern und Passwörtern mit der Samba-Benutzerdatenbank verwendet wird.
sudo apt install libpam-winbind
Erstellen Sie dann das sichere Verzeichnis, in dem die freigegebenen Dateien gespeichert werden.
sudo mkdir -p /srv/samba/secure_shares
Legen Sie als Nächstes die entsprechenden Berechtigungen für das Verzeichnis fest.
sudo chmod -R 0770 /srv/samba/secure_shares
sudo chown -R root:smbgrp /srv/samba/secure_shares
Öffnen Sie nun die Konfigurationsdatei.
sudo vi /etc/samba/smb.conf
OR
sudo nano /etc/samba/smb.conf
Bearbeiten oder ändern Sie anschließend die Richtlinieneinstellungen wie unten beschrieben.
[Secure]
comment = Secure File Server Share
path = /srv/samba/secure_shares
valid users = @smbgrp
guest ok = no
writable = yes
browsable = yes
Führen Sie wie zuvor diesen Befehl aus, um Ihre aktuellen Samba-Einstellungen anzuzeigen.
testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
Global parameters
[global]
netbios name = UBUNTU
server string = %h server (Samba, Ubuntu)
server role = standalone server
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = No
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous_shares
force user = nobody
read only = No
guest ok = Yes
[Secure]
comment = Secure File Server Share
path = /srv/samba/secure_shares
valid users = @smbgrp
read only = No
Sobald Sie mit den oben genannten Konfigurationen fertig sind, starten Sie die Samba-Dienste neu, um die Änderungen zu übernehmen.
sudo systemctl restart smbd [Systemd]
sudo service smbd restart [Sys V]
Testen der sicheren Samba-Dateifreigabe
Öffnen Sie wie zuvor auf dem Windows-Computer „Netzwerk“ in einem Windows Explorer-Fenster. Klicken Sie auf den Ubuntu-Host (TECMINT für unseren Fall). Möglicherweise wird die folgende Fehlermeldung angezeigt. Wenn nicht, fahren Sie mit dem nächsten Schritt fort.
Versuchen Sie, über seine IP-Adresse auf den Server zuzugreifen, z. B. \\192.168.43.168
so. Geben Sie dann die Anmeldeinformationen (Benutzername und Passwort) für den Benutzer aaronkilik ein und klicken Sie auf OK.
Sie sehen nun alle freigegebenen Verzeichnisse. Klicken Sie zum Öffnen auf Sicher.
Sie können einige Dateien sicher mit anderen zugelassenen Benutzern im Netzwerk teilen, indem Sie sie in diesem Verzeichnis ablegen.
Aktivieren Sie Samba in der UFW-Firewall in Ubuntu
Wenn auf Ihrem System die UFW-Firewall aktiviert/aktiv ist, müssen Sie die Regeln hinzufügen, damit Samba Ihre Firewall passieren kann.
Um dies zu testen, haben wir das Netzwerkschema 192.168.43.0 verwendet. Führen Sie die folgenden Befehle aus und geben Sie dabei Ihre Netzwerkadresse an.
sudo ufw allow proto udp to any port 137 from 192.168.43.0/24
sudo ufw allow proto udp to any port 138 from 192.168.43.0/24
sudo ufw allow proto tcp to any port 139 from 192.168.43.0/24
sudo ufw allow proto tcp to any port 445 from 192.168.43.0/24
Sie können auch diese nützlichen Artikel zum Thema Samba-Dateifreigabe in einem Netzwerk lesen.
- Einrichten des Samba4 Active Directory-Domänencontrollers – Teil 1 bis 14
- So mounten/unmounten Sie lokale und Netzwerkdateisysteme (Samba und NFS) unter Linux
- Verwenden von ACLs (Zugriffskontrolllisten) und Mounten von Samba-/NFS-Freigaben
- So beheben Sie die SambaCry-Sicherheitslücke (CVE-2017-7494) in Linux-Systemen
Das ist alles! In dieser Anleitung haben wir Ihnen gezeigt, wie Sie Samba4 für die anonyme und sichere Dateifreigabe zwischen Ubuntu- und Windows-Rechnern einrichten. Nutzen Sie das Feedback-Formular unten, um uns Ihre Gedanken mitzuteilen.