从 Server 16 升级到 18.04 LTS 打破了 XP 机器上的 Samba 共享

1 upgrade samba windows-xp 18.04

我让 Samba 在服务器版本 16 上工作多年。今天早上,我升级到 18.04 LTS,现在 Windows XP

发生系统错误 1326。

登录失败:未知用户名或错误密码。

我一直将 Samba 配置给我们 pam 以与系统密码同步。我也手动运行了 smbpasswd,但它没有帮助。

smb.conf 的活动行:

[global]



  workgroup = RHFACTOR

   dns proxy = no

   log file = /var/log/samba/log.%m

   max log size = 1000

   syslog = 0

   panic action = /usr/share/samba/panic-action %d

   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

   usershare max shares = 10

   usershare allow guests = no

[share0]

  comment = share0 zero

  path = /winbackup/zero

  browsable = yes

  guest ok = no

  read only = no

  create mask = 0755
Run Code Online (Sandbox Code Playgroud)

(除了共享名和目录外,还有三个与上述相同的共享。

我查看了 18.04 手册的 Samba 和 AppArmor 部分。我尝试禁用 AppArmor 并重新启动 Samba,但没有任何区别。

Mor*_*us1 5

Samba 正在尽最大努力跟上世界上的 Win10s 和 macOSs,因此它继续前进。

在 smb.conf 的 [global] 部分添加这些行:

lanman auth = yes
ntlm auth = yes
Run Code Online (Sandbox Code Playgroud)

然后重启smbd:

sudo service smbd restart
Run Code Online (Sandbox Code Playgroud)

注意:我记得遇到过这样一种情况,除了上面的行之外,您实际上还必须降低使用的 max server smb 方言:

server max protocol = NT1
Run Code Online (Sandbox Code Playgroud)

那将是一种讽刺。我不知道 Win10 机器如何能够连接到它。