![Debian Stretch 的 Samba 不断要求输入密码](https://linux22.com/image/723932/Debian%20Stretch%20%E7%9A%84%20Samba%20%E4%B8%8D%E6%96%AD%E8%A6%81%E6%B1%82%E8%BE%93%E5%85%A5%E5%AF%86%E7%A0%81.png)
所以我在 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
有人有什么想法吗?