Vorraussetzung: [[Netzwerk]] ====== Einfacher Dateiserver ====== ===== Benötigte Pakete ===== Debian, Ubuntu: apt install samba smbclient samba-common-bin ((neuere Versionen manchmal in [[https://packages.debian.org/jessie/samba|Backports]])) SuSE: zypper install samba samba-client (( man kann die Pakete unter SuSE auch mit yast -i samba samba-client installieren )) Fedora / Centos : yum install samba samba-client ===== Minimal-Konfiguration ===== [global] … workgroup = kurs … [freigabe] path = /tmp writable = yes … Überprüfen: (( Debian 6.0, openSuSE 11.4, CentOS 6: Fehlermeldung ''rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)'' kann man ignorieren, siehe http://bugs.debian.org/608624 )) ((Den Fehler ''ERROR: pid directory /var/run/samba does not exist'' kann man auch ignorieren. Das fehlende Verzeichnis wird beim ersten Start von Samba angelegt. )) testparm (( Mit Anzeige der default settings testparm -v )) ===== Samba starten ===== SuSE (ab 14), Centos (ab 7): systemctl enable --now smb.service systemctl enable --now nmb.service Ubuntu (ab 14.04), Debian (ab 8): service smbd restart service nmbd restart ===== Benutzer anlegen ===== Erst Unix-Nutzer: useradd -m iw Dann Windows-Attribute hinzufügen: smbpasswd -a iw oder pdbedit -a -u iw ===== Testen ===== smbclient -N -L localhost smbclient //notebook17/freigabe -U iw ==== Samba Freigabe mounten ==== Pakete: ''cifs-utils'' ( Debian (ab 6.0), CentOS (ab 7) ) mkdir /mnt/freigabe mount -t cifs -o username=xxx,uid=localuser,gid=localgroup //notebook17/freigabe /mnt/freigabe (( Warum sehen die Berechtigungen in der Freigabe anders als im lokalen Verzeichnis aus? https://fosdem.org/2019/schedule/event/smb2_posix_extensions/ )) ====== Checkliste ====== ===== Syntax-Check für smb.conf ===== testparm Ausgabe von testparm: Loaded services file OK. Server role: ROLE_STANDALONE ===== Netzwerk checken ===== [[netzwerk]] ===== Laufen die Samba Dienste? ===== netstat -tulpn | grep nmbd netstat -tulpn | grep smbd oder lsof -ai -c smbd -P lsof -ai -c nmbd -P ===== Windows Browsing ===== nmblookup -M kurs ===== Existiert ein passender Unix-Account? ===== getent passwd benutzername ===== Existiert ein passender Samba-Account? ===== pdbedit -L -v benutzername Ausgabe von pdbedit: Unix username: benutzername .. Account Flags: [U ] ===== Funktioniert der Samba-Account? ===== smbclient -L localhost -U benutzername Hier sollten die Freigaben des Servers angezeigt werden. ===== Funktioniert der Zugriff auf die Freigabe? ===== smbclient //rechnername/freigabe -U benutzername ===== Steht etwas in den Logdateien? ===== Anzahl der Logmeldungen erhöhen: smbcontrol smbd debug 2 smbcontrol nmbd debug 2 Logmeldungen besser finden: [global] log file = /var/log/samba/log.%m Logmeldungen für eine Verbindung: smbstatus -> PID der Verbindung raussuchen smbcontrol $PID debug 3 ===== Auf Netzwerkebene lauschen ===== wireshark z.B. Broadcast vom Typ Browser. Server Type checken ( "Microsoft Windows Browser Protocol" -> "Server Type" ) ====== Dokumentation ====== http://de3.samba.org/samba/docs/man/Samba-HOWTO-Collection/ ====== Todo ====== * Wie kann ich Benutzer einfach umbenennen?