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?