Debian Stretch 的 Samba 不断要求输入密码

Debian Stretch 的 Samba 不断要求输入密码

所以我在 Debian Stretch 中遇到了可怕的‘samba 不断要求输入密码’问题。

我的环境:

2x 运行 WS2012R2 的 AD DC

一些物理计算机和几个在 ESXi 6.7 上运行的虚拟机

所有机器都可以登录域并访问域共享

所有机器都可以使用域用户进行身份验证

Samba 在 4.6 版本中更改了语法smb.conf,所以我认为这可能是与 Stretch 标准 repo 包 4.5.12 相关的问题,因此我为 Ubuntu 添加了一个名为“Samba Latest”的 Samba repo:

https://launchpad.net/~linux-schools/+archive/ubuntu/samba-latest

我目前正在使用 Xenial 的版本,即 4.7.8

我直接从 Samba 官方 Wiki 中获取了 AD 加入配置。过去,我可以轻松使用我的配置让从 FreeBSD 11.1-RELEASE 到 OpenSUSE Leap 15 的机器(适用于 Raspberry Pi 3B+)与 Samba 配合使用。它无法与 Debian Stretch 配合使用,无论是 4.5.12 标准 repo 包还是 Samba-latest 中的 4.7.8 包,这毫无道理。

我还刚刚在笔记本电脑上安装了 Ubuntu 18.04 Bionic Beaver,并能够以桌面域用户的身份以及通过 SSH 和 su 进行身份验证。我很惊讶如果 Ubuntu 运行正常,Debian 会给我带来问题,因为它们太相似了。

因此,唯一无法运行的是 Debian Stretch。真可惜,因为我平时非常喜欢 Debian,但它似乎真的不适合使用 Samba。

请注意,我在标准 repo Samba 版本 4.5.12 和 Samba 最新 repo 4.7.8 上尝试了我将要详细介绍的所有变量

这是我的配置:

[global]
    netbios name = DEBIAN
    security = ADS
    workgroup = WEBTOOL
    realm = WEBTOOL.SPACE
    client use spnego = no
    client signing = auto
    ;server signing = auto
    ;client ntlmv2 auth = yes
    ;encrypt passwords = yes

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

    idmap config * : backend = tdb
    idmap config * : range = 3000-7999

    idmap config WEBTOOL : backend = ad
    idmap config WEBTOOL : schema_mode = rfc2307
    idmap config WEBTOOL : range = 10000-999999
    idmap config WEBTOOL : unix_nss_info = yes
    idmap config WEBTOOL : unix_primary_group = yes

    ;winbind use default domain = yes
    winbind enum users = yes
    winbind enum groups = yes
    winbind offline logon = yes
    ;winbind nested groups = yes
    winbind refresh tickets = yes
    winbind nss info = rfc2307

    ;winbind nss info = template
    ;template shell = /bin/bash
    ;template homedir = /home/%D/%U

我的主机名和 /etc/hosts 设置是正确的,我的 dns 指针指向两个 DC。

我的 NTP 已同步,ntpq -p并已检查:

 $ date
 Sat Jun 30 16:52:23 PDT 2018

与我的域中的所有其他计算机匹配。

我已经krb5-user以用户和 root 管理员身份从 DCs 安装并获取了密钥表。

我的kinit作品但我的net ads join -k或显示:net ads join -U [email protected]

$ sudo net ads join -U [email protected]
Enter [email protected]'s password:
Using short domain name -- WEBTOOL
Joined 'DEBIAN' to dns domain 'webtool.space'
DNS Update for debian.webtool.space failed: ERROR_DNS_UPDATE_FAILED
DNS update failed: NT_STATUS_UNSUCCESSFUL

我的任何其他虚拟机上都没有这个消息,但我应该注意,如果我过去这样做了,虚拟机仍然会加入域并正常运行,然后只需要从那里找出问题所在。

这是我尝试过的:

在 [global] 第一段中注释掉与身份验证相关的任何内容

更改client use spnego = yes= no,更改client signing = yes= auto,注释掉server signing = yes并尝试= auto,注释掉client ntlmv2 auth = yes 注释掉encrypt passwords = yes并更改为= no

有人有什么想法吗?

相关内容