当我从 Windows 10 Pro 64 计算机运行位于 Samba 共享上的 Windows 程序时,我在 smbstatus 输出中看到重复的 nobody:nogroup PID 条目。这些条目直到 smbd 进程终止才会消失。我注意到,在我的生产服务器上,Windows 7 用户创建的文件可能需要几分钟才能被其他 Windows 7 用户看到。当我从网络中删除 Windows 10 计算机时,问题就消失了。
我在 Ubuntu 14.04.1 LTS 上运行 Samba 版本 4.1.6-Ubuntu。我尝试过 Ubuntu 14.04.3 LTS 和 Ubuntu 15.10 服务器,但出现了同样的问题。我使用的计算机如下:
- 192.1.1.38 - 咨询5 - Windows 8.1 专业版
- 192.1.1.41 - CONSULTING7 - Windows 10 专业版
- 192.1.1.42 - CONSULTING8 - Ubuntu 服务器 14.04.1
下面的 smbstatus 输出是通过从 samba 网络共享运行三次 Windows 记事本生成的。这是从 Windows 8.1 计算机和 Windows 10 计算机完成的。在 Windows 10 计算机上使用一天后,输出通常会增长到 1000 多行。
Samba version 4.1.6-Ubuntu
PID Username Group Machine
-------------------------------------------------------------------
1444 nobody nogroup 192.1.1.41 (ipv4:192.1.1.41:53486)
1444 nobody nogroup 192.1.1.41 (ipv4:192.1.1.41:53486)
1444 nobody nogroup 192.1.1.41 (ipv4:192.1.1.41:53486)
1444 nobody nogroup 192.1.1.41 (ipv4:192.1.1.41:53486)
1444 nobody nogroup 192.1.1.41 (ipv4:192.1.1.41:53486)
1444 nobody nogroup 192.1.1.41 (ipv4:192.1.1.41:53486)
1444 nobody nogroup 192.1.1.41 (ipv4:192.1.1.41:53486)
1444 nobody nogroup 192.1.1.41 (ipv4:192.1.1.41:53486)
1444 nobody nogroup 192.1.1.41 (ipv4:192.1.1.41:53486)
1444 nobody nogroup 192.1.1.41 (ipv4:192.1.1.41:53486)
1444 nobody nogroup 192.1.1.41 (ipv4:192.1.1.41:53486)
1444 nobody nogroup 192.1.1.41 (ipv4:192.1.1.41:53486)
1445 win81user win81user 192.1.1.38 (ipv4:192.1.1.38:50422)
1444 win10user win10user 192.1.1.41 (ipv4:192.1.1.41:53486)
1444 nobody nogroup 192.1.1.41 (ipv4:192.1.1.41:53486)
1444 nobody nogroup 192.1.1.41 (ipv4:192.1.1.41:53486)
1444 nobody nogroup 192.1.1.41 (ipv4:192.1.1.41:53486)
Service pid machine Connected at
-------------------------------------------------------
aaa 1444 192.1.1.41 Thu Jan 7 12:29:31 2016
aaa 1445 192.1.1.38 Thu Jan 7 12:29:53 2016
Locked files:
Pid Uid DenyMode Access R/W Oplock SharePath Name Time
--------------------------------------------------------------------------------------------------
1444 1003 DENY_NONE 0x100081 RDONLY NONE /mnt/aaa . Thu Jan 7 12:29:31 2016
1445 1002 DENY_NONE 0x100081 RDONLY NONE /mnt/aaa . Thu Jan 7 12:29:52 2016
我尝试了许多不同的 samba 配置选项,但问题仍然存在。我已恢复到默认的 ubuntu smb.conf,如下所示,并添加了一个共享定义。guest ok = yes 和 guest ok = no 选项无法解决这个问题。
[global]
server string = %h server (Samba, Ubuntu)
server role = standalone server
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
print ok = Yes
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
[aaa]
comment = aaa test share
path = /mnt/aaa
read only = No
我提前道歉,但由于我在这个网站上没有声誉,我无法发布超过两个链接。请在下面找到共享挂载和记事本执行的 Samba 日志文件链接,日志级别为 3。我还提供了 Windows 8.1 smbd 进程和 Windows 10 smbd 进程的 lsof 输出。
http://pastebin.com/L8HdZAA1 - log.nmbd
http://pastebin.com/TEbWaB7n - log.smbd
http://pastebin.com/UAmk0tZG - log.192.1.1.38 (Windows 8.1)
http://pastebin.com/wtfB5udx - log.consulting5 (Windows 8.1)
http://pastebin.com/0bAhNqum - log.192.1.1.41 (Windows 10)
http://pastebin.com/zCKsASR0 - log.consulting7 (Windows 10)
http://pastebin.com/1wmFVAjC - lsof-win81process.txt
http://pastebin.com/DyzUF3LS - lsof-win10process.txt
任何帮助解决此问题的帮助都将不胜感激。谢谢。
答案1
这似乎是 SambaV2/V3 的问题,可以通过以下方式避免强制 Windows 10 使用 SambaV1
sc config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc config mrxsmb20 start= disabled
看:
https://groups.google.com/forum/#!topic/spline.eisfair/vtxTbxKVy1Q
https://bugs.launchpad.net/ubuntu/+source/samba/+bug/1392647