Diese Anleitung erklärt die Installation und Konfiguration eines Samba-Servers auf Ubuntu 16.04 (Xenial Xerus) mit anonymen und gesicherten Samba-Freigaben. Samba ist eine Open Source/freie Software-Suite, die nahtlose Datei- und Druckdienste für SMB/CIFS-Clients bereitstellt. Samba ist im Gegensatz zu anderen SMB/CIFS-Implementierungen frei verfügbar und ermöglicht die Interoperabilität zwischen Linux/Unix-Servern und Windows-basierten Clients.
1 Vorbemerkung
Ich habe einen frisch installierten Ubuntu 16.04 LTS-Server, auf dem ich den Samba-Server installieren werde. Als Samba-Client-System werde ich einen Windows-Desktop verwenden, um mich mit dem Samba-Server zu verbinden und das Setup zu überprüfen. Der Windows-Desktop sollte sich im selben Netzwerk befinden, damit er den Ubuntu-Server erreichen kann. Der Hostname meines Ubuntu-Servers ist server1.example.com und die IP ist 192.168.1.100
Wenn Sie noch keinen Ubuntu-Server haben, folgen Sie diesem Tutorial, um eine minimale Servereinrichtung als Grundlage für dieses Tutorial zu erhalten.
Hinweis: Der Windows-Rechner muss sich in derselben Arbeitsgruppe befinden. Um den Wert auf dem Windows-Rechner zu überprüfen, führen Sie den folgenden Befehl an der cmd-Eingabeaufforderung aus:
net config Arbeitsstation
Die Ausgabe sieht so aus:
Ihr Windows-Rechner muss sich in derselben Workstation-Domäne wie der Ubuntu-Server befinden, in meinem Fall also WORKGROUP.
Um den Windows-Rechner in Windows über seinen Hostnamen erreichbar zu machen, gehen Sie wie folgt vor. Öffnen Sie ein Windows-Terminal im Administratormodus (Sie können den Administratormodus erreichen, indem Sie mit der rechten Maustaste auf das Terminal-Symbol im Programmmenü klicken) und führen Sie den folgenden Befehl aus, um die Windows-Hosts-Datei zu öffnen:
Notepad C:\\Windows\System32\drivers\etc\hosts
Dort fügen Sie die folgende rote Zeile hinzu und speichern die Datei:
[...]
192.168.1.100 server1.example.com server1
Die folgenden Schritte müssen als Root-Benutzer ausgeführt werden. Ausführen:
sudo -s
auf der Shell Ihres Linux-Servers, um der Root-Benutzer zu werden.
2 Anonymes Samba-Sharing
Samba ist in den Ubuntu-Repositories verfügbar. Der erste Schritt ist die Installation des Samba-Servers und seiner Abhängigkeiten mit apt.
apt-get install -y samba samba-common python-glade2 system-config-samba
Es installiert die Samba-Version 4.3.9-Ubuntu.
Um Samba zu konfigurieren, bearbeiten Sie die Datei /etc/samba/smb.conf. Ich werde nano als Editor verwenden und eine Sicherungskopie der Originaldatei erstellen, bevor ich anfange, sie zu ändern. Die Sicherungsdatei heißt /etc/samba/smb.conf.bak
cp -pf /etc/samba/smb.conf /etc/samba/smb.conf.bak
cat /dev/null > /etc/samba/smb.conf
Öffnen Sie die Samba-Konfigurationsdatei mit nano:
nano /etc/samba/smb.conf
Und fügen Sie die folgenden Zeilen hinzu.
[global]workgroup =WORKGROUPserver string =Samba Server %vnetbios name =ubuntusecurity =usermap to guest =bad userdns proxy =no
#=============================Definitionen teilen ==============================
[Anonym] path =/samba/anonymousbrowsable =yeswritable =yesguest ok =yesread only =no
force user =none
Dann erstelle ich ein Verzeichnis für die anonyme Freigabe.
mkdir -p /samba/anonymous
Legen Sie die richtigen Berechtigungen fest.
chmod -R 0775 /samba/anonymous
chown -R niemand:nogroup /samba/anonymous
Und starten Sie Samba neu, um die neue Konfiguration anzuwenden.
service smbd Neustart
Jetzt können Sie auf die Ubuntu-Freigabe in Windows zugreifen, indem Sie „\\server1“ in das Windows-Suchfeld des Menüs eingeben oder den Netzwerkbrowser des Windows-Datei-Explorers verwenden, um eine Verbindung zur Freigabe herzustellen.
Versuchen Sie, eine Datei per Drag&Drop auf die Freigabe hochzuladen, um zu sehen, ob es richtig funktioniert.
Sie können den Inhalt auch auf dem Server überprüfen.
ls -la /samba/anonymous/
[email protected]:/samba/anonymous# ls -la /samba/anonymous/
insgesamt 16
drwxrwxr-x 2 niemand nogroup 4096 1. Juni 18:46 .
drwxr- xr-x 3 root root 4096 1. Juni 18:39 ..
-rwxr--r-- 1 niemand nogroup 7405 1. Juni 18:42 test.odt
[email protected]:/samba/anonymous #
3 Gesicherter Samba-Server
Für die passwortgeschützte Freigabe erstelle ich eine Gruppe smbgrp und einen Benutzer till um auf den Samba-Server zuzugreifen. Ich werde in diesem Beispiel "howtoforge" als Passwort verwenden, bitte wählen Sie ein benutzerdefiniertes und sicheres Passwort auf Ihrem Server.
addgroup smbgrp
useradd till -G smbgrp
smbpasswd -a till
[email protected]:~# smbpasswd -a till
Neues SMB-Passwort:<--howtoforge
Neues SMB-Passwort erneut eingeben:<--howtoforge
Benutzer hinzugefügt bis.
[email protected]:~#
Erstellen Sie nun den Ordner mit dem Namen "secured" im /samba-Ordner und geben Sie Berechtigungen wie diese
mkdir -p /samba/secured
cd /samba
chmod -R 0770 gesichert
chown root:smbgrp gesichert
Bearbeiten Sie die Samba-Konfigurationsdatei und fügen Sie die folgenden (roten) Zeilen am Ende der Datei hinzu:
nano /etc/samba/smb.conf
[...]
[gesicherter] Pfad =/samba/gesichert gültige Benutzer =@smbgrp Gast ok =nein beschreibbar =ja durchsuchbar =ja
service smbd Neustart
Um die Einstellungen zu überprüfen, führen Sie diesen Befehl aus:
testparm
[email protected]:/samba# testparm
SMB-Konfigurationsdateien aus /etc/samba/smb.conf laden
rlimit_max:rlimit_max (1024) auf minimales Windows-Limit (16384) erhöhen
Verarbeitungsabschnitt "[Anonymous]"
Verarbeitungsabschnitt "[gesichert]"
Geladene Dienstdatei OK.
Serverrolle:ROLE_STANDALONE
Drücken Sie die Eingabetaste, um einen Dump Ihrer Dienstdefinitionen anzuzeigen <-- Drücken Sie die Eingabetaste
# Globale Parameter
[global]
netbios name =UBUNTU
server string =Samba Server %v
security =USER
map to guest =Bad User
dns proxy =No
idmap config * :backend =tdb
[Anonymous]
Pfad =/samba/anonymous
Benutzer erzwingen =Niemand
Nur Lesen =Nein
Gast ok =Ja
[gesichert]
Pfad =/samba/gesichert
gültige Benutzer =@smbgrp
schreibgeschützt =Nein
Öffnen Sie auf dem Windows-Rechner "\\server1" Netzwerkgerät erneut, wird es nun einen Benutzernamen und ein Passwort anfordern. Geben Sie die Benutzerdaten ein, die Sie oben erstellt haben. In meinem Fall waren die Werte user=till und password=howtoforge.
Wir können die Datei auf dem Ubuntu-Server wie folgt überprüfen:
ls -la /samba/secured/
[email protected]:/samba# ls -la /samba/secured/
insgesamt 16
drwxrwx--- 2 root smbgrp 4096 Jun 1 19:25 .
drwxr-xr -x 4 root root 4096 1. Juni 18:49 ..
-rwxr--r-- 1 bis 7405 1. Juni 18:42 test.odt
[email protected]:/samba#Jetzt haben wir einen erfolgreich konfigurierten Samba-Server mit einer anonymen und einer gesicherten Freigabe auf Ubuntu 16.04 :)
4 Image-Download dieser virtuellen Maschine für dieses Tutorial
Dieses Tutorial ist als gebrauchsfertiges Image der virtuellen Maschine im ovf/ova-Format verfügbar, das mit VMWare und Virtualbox kompatibel ist. Das Image der virtuellen Maschine verwendet die folgenden Anmeldedaten:
SSH-/Shell-Anmeldung
Benutzername:administrator
Passwort:howtoforgeDieser Benutzer hat sudo-Rechte.
Die IP der VM ist 192.168.1.100, sie kann in der Datei /etc/network/interfaces geändert werden. Bitte ändern Sie alle oben genannten Passwörter, um die virtuelle Maschine zu sichern.
5 Links
- Ubuntu: http://www.ubuntu.com/
- Samba: http://www.samba.org/samba/