smb-shares bringen Samba zum Absturz?
![](https://seccdn.libravatar.org/avatar/627f2bbf04de415a88e3007bedd7e03d.jpg?s=120&d=mm&r=g)
Moin Lisde! Da ich gerade meinen Mailer so hingebogen habe, dass er mit Antivir/Amavis scannt, wollte ich das nun schon mal installierte Antivir auch weitergehend nutzen. Der Plan: Ich (genauer cron) mounte die Windows-Freigaben im Netz per smbmount und scanne dann den Mountpoint. Allerdings kommt nach ein paar Minuten der Samba-Crash. Vermute ich jedenfalls, denn log/messages listet einen Kernel-Ooops - das kann also kaum Antivir sein. Oder doch? Konfiguration: Suse8, 2.4.18, Samba 2.2.5 (war auch mit dem Original-Samba so), Antivir 6.15. Das Script ist simpel (hoffe, es ist alles trotz Zeilenumbruch lesbar): --- #!/bin/bash # send start scan message: not to shut down /bin/cat startscan.txt|/usr/bin/smbclient -M wimal #wimal ist der erste windows rechner # --- drive c --- echo mounting wimals_c sudo /usr/bin/smbmount //wimal/wimals_c /windows/wimal/ -o username=alfred,password=geheim echo scanning ... /usr/bin/antivir -s -z -v /windows/wimal/ echo umounting wimals_c sudo /usr/bin/smbumount /windows/wimal/ # ... hier kommen andere Shares # send end scan message: do what you want /bin/cat endscan.txt|/usr/bin/smbclient -M wimal --- Nach ein paar Minuten kommt dann der Absturz. Im aufrufenden Terminal steht nur: --- ./scanwin: line 8: 22127 Speicherzugriffsfehler /usr/bin/antivir -s -z -v /windows/wimal/ umounting wimals_c --- Die letzte Zeile stammt aus dem Script und dient nur als Arme-Leute-Debugger :) An der Stelle hängen dann zwei Prozesse, von denen sich letzterer nicht einmal mehr "-9" abschiessen lässt: --- root 22124 0.0 0.3 3576 1532 ? S 14:46 0:00 /usr/bin/smbmount //wimal/wimals_c /windows/wimal/ -o username alfred password XXXX root 22128 0.0 0.1 3272 768 ? D 14:48 0:00 /usr/bin/smbumount /windows/wimal/ --- Relevanter Auszug aus Messages, für mich nicht lesbar: --- Aug 31 14:48:49 wauhsl2 kernel: Unable to handle kernel paging request at virtual address dc000000 Aug 31 14:48:49 wauhsl2 kernel: printing eip: Aug 31 14:48:49 wauhsl2 kernel: c753bae9 Aug 31 14:48:49 wauhsl2 kernel: *pde = 00000000 Aug 31 14:48:49 wauhsl2 kernel: Oops: 0000 Aug 31 14:48:49 wauhsl2 kernel: CPU: 0 Aug 31 14:48:49 wauhsl2 kernel: EIP: 0010:[snd-mixer-oss:__insmod_snd-mixer-oss_O/lib/modules/2.4.18-4GB/ker nel/soun+-4457751/96] Tainted: P Aug 31 14:48:49 wauhsl2 kernel: EFLAGS: 00013246 Aug 31 14:48:49 wauhsl2 kernel: eax: 00000000 ebx: cc2dacfb ecx: fba5a3fd edx: 411b6cd1 Aug 31 14:48:49 wauhsl2 kernel: esi: dc000000 edi: cacb7e2c ebp: cacb7ec4 esp: cacb7ddc Aug 31 14:48:49 wauhsl2 kernel: ds: 0018 es: 0018 ss: 0018 Aug 31 14:48:49 wauhsl2 kernel: Process antivir (pid: 22127, stackpage=cacb7000) Aug 31 14:48:49 wauhsl2 kernel: Stack: c0140030 cacb7e94 de8215b4 00000000 00000000 00000000 00000000 cc048040 Aug 31 14:48:49 wauhsl2 kernel: ccd3d120 5f3f7823 02a96c9d 2e56ba3c 00000000 00000000 d3d04000 0000000b Aug 31 14:48:49 wauhsl2 kernel: 00000000 00000000 00000001 0000000d c753a335 d5622260 cacb7fb0 c0140030 Aug 31 14:48:49 wauhsl2 sudo: root : TTY=pts/1 ; PWD=/home/fredl/soft/winvir ; USER=root ; COMMAND=/usr/bin /smbumount /windows/wimal/ Aug 31 14:48:49 wauhsl2 kernel: Call Trace: [filldir64+0/276] [snd-mixer-oss:__insmod_snd-mixer-oss_O/lib/modul es/2.4.18-4GB/kernel/soun+-4463819/96] [filldir64+0/276] [filldir64+0/276] [snd-mixer-oss:__insmod_snd-mixer-os s_O/lib/modules/2.4.18-4GB/kernel/soun+-4463678/96] Aug 31 14:48:49 wauhsl2 kernel: [filldir64+0/276] [snd-mixer-oss:__insmod_snd-mixer-oss_O/lib/modules/2.4.18 -4GB/kernel/soun+-4459764/96] [filldir64+0/276] [vfs_readdir+97/132] [filldir64+0/276] [sys_getdents64+79/179] Aug 31 14:48:49 wauhsl2 kernel: [filldir64+0/276] [sys_fcntl64+127/136] [system_call+51/64] Aug 31 14:48:49 wauhsl2 kernel: Aug 31 14:48:49 wauhsl2 kernel: Code: 8a 06 46 89 c2 c1 e2 04 01 da c1 e8 04 01 c2 8d 04 92 8d 1c --- Erst dachte ich, es läge an Umlauten in Dateinamen auf den Windows-Shares, aber zumindest einige Dateien mit Umlauten scannt das Script noch fehlerfrei. Woran kann das liegen? Warum kommen Meldungen zum Sound-Modul? Warum kann ich smbumount nicht einmal mit -9 killen? Könnte es mit gelockten Dateien auf den Shares zu tun haben? Hat da jemand eine Idee zur Ursache/Behebung/Vermeidung des Problems? Am Ende des Lateins, Alfred
![](https://seccdn.libravatar.org/avatar/4bad96c02dc7cb827e26ed5afa1c309d.jpg?s=120&d=mm&r=g)
Hi On Saturday 31 August 2002 15:47, Alfred Poschmann wrote:
Moin Lisde!
Da ich gerade meinen Mailer so hingebogen habe, dass er mit Antivir/Amavis scannt, wollte ich das nun schon mal installierte Antivir auch weitergehend nutzen. Der Plan: Ich (genauer cron) mounte die Windows-Freigaben im Netz per smbmount und scanne dann den Mountpoint. Allerdings kommt nach ein paar Minuten der Samba-Crash. Vermute ich jedenfalls, denn log/messages listet einen Kernel-Ooops - das kann also kaum Antivir sein. Oder doch?
Da bist jetzt keiner geantwortet hat, traue ich mich mal mit ein paar "gut geratenen Ratschlägen".
Konfiguration: Suse8, 2.4.18, Samba 2.2.5 (war auch mit dem Original-Samba so), Antivir 6.15.
Das Script ist simpel (hoffe, es ist alles trotz Zeilenumbruch lesbar): --- #!/bin/bash # send start scan message: not to shut down /bin/cat startscan.txt|/usr/bin/smbclient -M wimal #wimal ist der erste windows rechner # --- drive c --- echo mounting wimals_c sudo /usr/bin/smbmount //wimal/wimals_c /windows/wimal/ -o username=alfred,password=geheim
Halte ich nicht für so sehr klug. Generell würde ich sowas lieber für den (eventuell zu erstellenden) user virusscan o.ä. mounten. Wenn prozesse anderer user außer root hängen hat man eher ne chance da als root noch einzugreifen.
echo scanning ... /usr/bin/antivir -s -z -v /windows/wimal/ echo umounting wimals_c sudo /usr/bin/smbumount /windows/wimal/ # ... hier kommen andere Shares # send end scan message: do what you want /bin/cat endscan.txt|/usr/bin/smbclient -M wimal ---
Nach ein paar Minuten kommt dann der Absturz. Im aufrufenden Terminal steht nur: --- ./scanwin: line 8: 22127 Speicherzugriffsfehler /usr/bin/antivir -s -z -v /windows/wimal/
Das heißt für mich, dass antivir sich erhängt hat. Wenn samba irgendwelches locking betreibt kann der smbumount schonmal schiefgehen. Eventuell auch antivir mal checken.
umounting wimals_c ---
Die letzte Zeile stammt aus dem Script und dient nur als Arme-Leute-Debugger :)
An der Stelle hängen dann zwei Prozesse, von denen sich letzterer nicht einmal mehr "-9" abschiessen lässt: --- root 22124 0.0 0.3 3576 1532 ? S 14:46 0:00 /usr/bin/smbmount //wimal/wimals_c /windows/wimal/ -o username alfred password XXXX root 22128 0.0 0.1 3272 768 ? D 14:48 0:00 /usr/bin/smbumount /windows/wimal/ --- ............
Erst dachte ich, es läge an Umlauten in Dateinamen auf den Windows-Shares, aber zumindest einige Dateien mit Umlauten scannt das Script noch fehlerfrei.
Das ist eine Frage, die sich nur anhand von smb.conf beurteilen lässt. client codepage = 850 , characterset = iso 8859-1 sollten dafür sorgen, dass er korrekt mit Umlauten umgeht.
Woran kann das liegen? Warum kommen Meldungen zum Sound-Modul? Warum kann ich smbumount nicht einmal
Sound modul.... weiß ich auch nicht.
mit -9 killen? Könnte es mit gelockten Dateien auf den Shares zu tun haben? Hat da jemand eine Idee zur
Das kann sehr gut was mit dem locking zu tun haben.
Ursache/Behebung/Vermeidung des Problems?
Als ertes würde ich versuchen antivir und den smbmount als normaler user laufen zu lassen. Dazu muss /usr/bin/smbmnt mit dem suid-Bit versehen werden. Dann würde ich in dein Skript noch ein "cat /etc/mtab |grep smb" einbauen, um zu sehen in weit der mount funktioniert hat. Je nachdem, ob der share oder mountpoint auch von jemand anderem gebraucht werden kann, würde ich vor dem mount umount noch eine if-Abfrage einfügen, die genau das prüft. Es lohnt sich auch, sich nochmal die locking options von samba anzuschauen (wenn das auch ein samba-server und keine Windose ist). mfg Axel
participants (2)
-
Alfred Poschmann
-
Axel Heinrici