Ziel
Ziel ist es, eine grundlegende Konfiguration des Samba-Servers auf Debian 9 Stretch Linux durchzuführen, um den Zugriff auf Samba-Freigaben über den MS Windows-Client-Rechner zu ermöglichen.
Betriebssystem- und Softwareversionen
- Betriebssystem: – Debian 9 Stretch
- Software: – Samba 4.5.8-Debian
Anforderungen
Privilegierter Zugriff auf Ihr Debian-System ist erforderlich.
Schwierigkeit
EINFACH
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
Szenario
Das folgende Konfigurationsverfahren geht von folgendem Szenario und vorkonfigurierten Anforderungen aus:
- Server und MS Windows-Client befinden sich im selben Netzwerk und keine Firewall blockiert die Kommunikation zwischen den beiden
- MS Windows-Client kann Samba-Server nach Hostnamen
samba-server
auflösen - Die Arbeitsgruppendomäne des MS Windows-Clients ist
WORKGROUP
Anleitung
Installation
Beginnen wir mit der Installation des Samba-Servers:
# apt install samba
Außerdem wird zu Testzwecken empfohlen, den Samba-Client zu installieren:
# apt install smbclient
Der Samba-Server sollte jetzt auf Ihrem System betriebsbereit sein:
# systemctl status smbd ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2017-06-13 10:35:34 AEST; 3min 32s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 1654 (smbd) Status: "smbd: ready to serve connections..." CGroup: /system.slice/smbd.service ├─1654 /usr/sbin/smbd ├─1655 /usr/sbin/smbd ├─1656 /usr/sbin/smbd └─1659 /usr/sbin/smbd
Standard-Samba-Konfiguration
Die Hauptkonfigurationsdatei von Samba heißt /etc/samba/smb.conf
. Bevor wir mit der Bearbeitung von smb.conf
beginnen config-Datei erstellen wir eine Sicherungskopie der ursprünglichen Konfigurationsdatei und extrahieren relevante Zeilen einer aktuellen Konfiguration in eine neue smb.conf
Datei:
# cp /etc/samba/smb.conf /etc/samba/smb.conf_backup # grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf
Ihre neue /etc/samba/smb.conf
sollte jetzt enthalten:
# cat /etc/samba/smb.conf [global] workgroup = WORKGROUP dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d server role = standalone server passdb backend = tdbsam 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 [homes] comment = Home Directories browseable = no read only = yes create mask = 0700 directory mask = 0700 valid users = %S [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
Starten Sie Ihren Samba-Server neu und verwenden Sie den SMB-Client, um alle exportierten Samba-Gruppen zu bestätigen:
# systemctl restart smbd # smbclient -L localhost WARNING: The "syslog" option is deprecated Enter root's password: Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian] Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers IPC$ IPC IPC Service (Samba 4.5.8-Debian) Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian] Server Comment --------- ------- LASERPRINTER LINUXCONFIG Samba 4.5.8-Debian Workgroup Master --------- ------- WORKGROUP LINUXCONFIG
Benutzer hinzufügen
Samba hat ein eigenes Benutzerverwaltungssystem. Allerdings muss jeder Benutzer, der in der Samba-Benutzerliste vorhanden ist, auch in /etc/passwd
vorhanden sein Datei. Erstellen Sie aus diesem Grund einen neuen Benutzer mit useradd
Befehl, bevor Sie einen neuen Samba-Benutzer erstellen. Sobald Ihr neuer Systembenutzer zB. linuxconfig
beendet, verwenden Sie smbpasswd
Befehl zum Erstellen eines neuen Samba-Benutzers:
# smbpasswd -a linuxconfig New SMB password:
Samba-Home-Verzeichnisse teilen
Standardmäßig werden alle Home-Verzeichnisse schreibgeschützt exportiert und sie sind nicht browseable
. Um diese Standardkonfigurationseinstellungen zu ändern, ändern Sie die aktuellen homes
Definition teilen an:
[homes] comment = Home Directories browseable = yes read only = no create mask = 0700 directory mask = 0700 valid users = %S
Jedes Mal, wenn Sie eine Änderung an Ihrer /etc/samba/smb.conf
vornehmen Konfigurationsdatei vergessen Sie nicht, Ihren Samba-Server-Daemon neu zu starten:
# systemctl restart smbd
Öffentliche anonyme Samba-Freigabe
Die folgende Samba-Definition erlaubt es jedem Benutzer, Daten in die Samba-Freigabe unter /var/samba/
zu lesen und zu schreiben Verzeichnis. Erstellen Sie zuerst ein neues Verzeichnis und machen Sie es für jeden zugänglich:
# mkdir /var/samba # chmod 777 /var/samba/
Fügen Sie als Nächstes eine neue Samba-Freigabedefinition in Ihrer /etc/samba/smb.conf
hinzu Samba-Konfigurationsdatei:
[public] comment = public anonymous access path = /var/samba/ browsable =yes create mask = 0660 directory mask = 0771 writable = yes guest ok = yes
Starten Sie Ihren Samba-Server-Daemon neu:
# systemctl restart smbd
Samba-Freigaben mounten
Jetzt sind wir bereit, unsere Aufmerksamkeit auf MS Windows-Rechner zu richten und unsere neuen Samba-Freigabeverzeichnisse im Netzwerk abzubilden. Beginnen Sie damit, alle verfügbaren Freigaben nach \\\samba-server
aufzulisten Befehlsausführung:
Wenn alles gut gegangen ist, sollten Sie die Liste aller durchsuchbaren Samba-Freigaben sehen:
Als nächstes ordnen Sie eines der freigegebenen Verzeichnisse zu, indem Sie mit der rechten Maustaste auf die Freigabe klicken und ein
Map Network Drive...
auswählen Möglichkeit. Kreuzen Sie an, Connect using different credentials
Option und schließen Sie die Netzlaufwerkzuordnung ab, indem Sie die in den vorherigen Schritten erstellten Benutzeranmeldeinformationen eingeben:
Anhang
Samba-Benutzer auflisten:
# pdbedit -w -L
Samba-Benutzer löschen:
# pdbedit -x -u username