Samba 4.1.6 Segfaults 14.04 LTS
Моя сетевая папка Samba отключается на компьютерах с Windows 7 всякий раз, когда я открываю файл с помощью проводника Windows. Значки папок серые в течение минуты или около того, прежде чем снова становятся доступными. Однако одни и те же файлы всегда можно программно прочитать в скриптах Python и т. Д.
Это влияет на все машины с Windows 7 в моей сети, кроме виртуальной машины Windows 7 Virtualbox, которая находится на сервере Ubuntu (на котором размещается Samba). В настоящее время нет аутентификации, то есть все гости могут читать и писать после подключения. Разрешение для общей папки - 777.
Приведенный ниже фрагмент журнала Samba подтверждает, что я получаю ошибки при каждом отключении сетевого диска. Мне сказали, что это может быть неразрешенная ошибка № 913809, и самое близкое описание, которое я нашел, - это голландское обсуждение. Установка полного имени хоста не помогает.
Кроме того, на ВСЕХ блоках Windows 7 (VM и не-VM) я также вижу множество ошибок в статистике файла "Permission Denied". Они, по-видимому, доброкачественные, потому что я все еще получаю их в изобилии на виртуальной машине Windows 7, которая не переносит segfault/ отключение. Но я не знаю, связаны ли они с сегфо. Эти ошибки происходят из:
../source3/param/loadparm.c:4365(process_usershare_file)
Без обновления 14.04 LTS, какой самый безопасный способ попробовать более свежую версию Samba (чтобы увидеть, исчезнет ли проблема)? Я не знаю о загружаемых двоичных файлах Samba для Ubuntu, и кажется, что люди просто удаляют Samba вручную и перекомпилируют из исходного кода?
Подводя итог: моя Samba "работает" большую часть времени, пока я не попытаюсь дважды щелкнуть файл в проводнике Windows. Просмотр и программное чтение файлов всегда работает нормально. Samba только segfaults на компьютерах Windows 7 в локальной сети, которые общаются с сервером Ubuntu/Samba. Он работает и никогда не вызывает сбоев на виртуальной машине Windows 7, которая находится на сервере Ubuntu/Samba, за исключением того, что я получаю недоумение в файле ошибок статистики "отказано в разрешении" в журнале.
Вот сигфо:
===============================================================
[2015/03/17 11:12:51.861983, 0] ../lib/util/fault.c:73(fault_report)
INTERNAL ERROR: Signal 11 in pid 10219 (4.1.6-Ubuntu)
Please read the Trouble-Shooting section of the Samba HOWTO
[2015/03/17 11:12:51.862024, 0] ../lib/util/fault.c:75(fault_report)
===============================================================
[2015/03/17 11:12:51.862049, 0] ../source3/lib/util.c:785(smb_panic_s3)
PANIC (pid 10219): internal error
[2015/03/17 11:12:51.863249, 0] ../source3/lib/util.c:896(log_stack_trace)
BACKTRACE: 27 stack frames:
#0 /usr/lib/x86_64-linux-gnu/libsmbconf.so.0(log_stack_trace+0x1a) [0x7f4fb8ffdf3a]
#1 /usr/lib/x86_64-linux-gnu/libsmbconf.so.0(smb_panic_s3+0x20) [0x7f4fb8ffe010]
#2 /usr/lib/x86_64-linux-gnu/libsamba-util.so.0(smb_panic+0x2f) [0x7f4fba526c6f]
#3 /usr/lib/x86_64-linux-gnu/libsamba-util.so.0(+0x1ae86) [0x7f4fba526e86]
#4 /lib/x86_64-linux-gnu/libpthread.so.0(+0x10340) [0x7f4fba74e340]
#5 /lib/x86_64-linux-gnu/libc.so.6(strlen+0x2a) [0x7f4fb76ac56a]
#6 /usr/lib/x86_64-linux-gnu/libsamba-util.so.0(push_ucs2_talloc+0x1e) [0x7f4fba52bc1e]
#7 /usr/lib/x86_64-linux-gnu/samba/libcliauth.so.0(E_md4hash+0x1e) [0x7f4fb9b198fe]
#8 /usr/lib/x86_64-linux-gnu/samba/libsmbd_base.so.0(create_volume_objectid+0x3a) [0x7f4fba0e2b7a]
#9 /usr/lib/x86_64-linux-gnu/samba/libsmbd_base.so.0(+0x1c428b) [0x7f4fba1c528b]
#10 /usr/lib/x86_64-linux-gnu/samba/libsmbd_base.so.0(smb_vfs_call_fsctl+0x58) [0x7f4fba104c88]
#11 /usr/lib/x86_64-linux-gnu/samba/libsmbd_base.so.0(smb2_ioctl_filesys+0x76) [0x7f4fba137bb6]
#12 /usr/lib/x86_64-linux-gnu/samba/libsmbd_base.so.0(smbd_smb2_request_process_ioctl+0x7ee) [0x7f4fba1377ce]
#13 /usr/lib/x86_64-linux-gnu/samba/libsmbd_base.so.0(smbd_smb2_request_dispatch+0xbcd) [0x7f4fba128f5d]
#14 /usr/lib/x86_64-linux-gnu/samba/libsmbd_base.so.0(+0x128c8b) [0x7f4fba129c8b]
#15 /usr/lib/x86_64-linux-gnu/samba/libsmbd_base.so.0(+0x1298fc) [0x7f4fba12a8fc]
#16 /usr/lib/x86_64-linux-gnu/libsmbconf.so.0(run_events_poll+0x16c) [0x7f4fb90140ac]
#17 /usr/lib/x86_64-linux-gnu/libsmbconf.so.0(+0x37300) [0x7f4fb9014300]
#18 /usr/lib/x86_64-linux-gnu/libtevent.so.0(_tevent_loop_once+0x8d) [0x7f4fb79ec5ed]
#19 /usr/lib/x86_64-linux-gnu/samba/libsmbd_base.so.0(smbd_process+0x9ca) [0x7f4fba1165ca]
#20 smbd(+0x9fa4) [0x7f4fbab8afa4]
#21 /usr/lib/x86_64-linux-gnu/libsmbconf.so.0(run_events_poll+0x16c) [0x7f4fb90140ac]
#22 /usr/lib/x86_64-linux-gnu/libsmbconf.so.0(+0x37300) [0x7f4fb9014300]
#23 /usr/lib/x86_64-linux-gnu/libtevent.so.0(_tevent_loop_once+0x8d) [0x7f4fb79ec5ed]
#24 smbd(main+0x13eb) [0x7f4fbab87b8b]
#25 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f4fb7644ec5]
#26 smbd(+0x6f1d) [0x7f4fbab87f1d]
Это пример используемого файла usershares. Я думаю, что он был создан автоматически с помощью графического интерфейса при просмотре целевой папки, чтобы включить общий доступ.
$ cat /var/lib/samba/usershares/foobar
#VERSION 2
path=/data/foobar
comment=
usershare_acl=S-1-1-0:f
guest_ok=y
sharename=foobar
И вот в значительной степени по умолчанию samba.conf.
#=================================================================
[global]
## Browsing/Identification ###
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
; wins server = w.x.y.z
dns proxy = no
#### Networking ####
; interfaces = 127.0.0.0/8 eth0
; bind interfaces only = yes
#### Debugging/Accounting ####
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
####### Authentication #######
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
########## Domains ###########
; logon path = \\%N\profiles\%U
; logon drive = H:
; logon script = logon.cmd
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
; add group script = /usr/sbin/addgroup --force-badname %g
############ Misc ############
; include = /home/samba/etc/smb.conf.%m
; idmap uid = 10000-20000
; idmap gid = 10000-20000
; template shell = /bin/bash
; usershare max shares = 100
usershare allow guests = yes
#======================= Share Definitions =======================
;[homes]
; comment = Home Directories
; browseable = no
; read only = yes
; create mask = 0700
; directory mask = 0700
; valid users = %S
;[netlogon]
; comment = Network Logon Service
; path = /home/samba/netlogon
; guest ok = yes
; read only = yes
;[profiles]
; comment = Users profiles
; path = /home/samba/profiles
; guest ok = no
; browseable = no
; create mask = 0600
; directory mask = 0700
[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
; write list = root, @lpadmin