如何在 Debian Buster 上的 Samba/Winbind 中使用缓存的凭据?

如何在 Debian Buster 上的 Samba/Winbind 中使用缓存的凭据?

虽然在混合环境中使用 Debian 和 Windows 很长时间,但现在我一直坚持尝试使用缓存的凭据在域环境中登录。一旦我使用凭据登录,当计算机不再连接到域控制器时,我仍然想登录。

此行为由 Windows 客户端实现,因此笔记本电脑用户仍然可以登录。除非存在连接,否则只能使用安装点。我想在我的 Debian/GNU Linux 客户端上实现同样的目标。


进一步解释

该工作站使用带有 GUI(Xorg、XFCE、LightDM)和 Samba(Winbind)的 Debian Buster。这几乎是默认安装。

:~$ uname -a
Linux client-ph-wkst 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux
:~$ sudo samba -V
Version 4.9.5-Debian

工作站已成功连接到域控制器 (Samba 4)。一切正常。自从杰西(Jessie)以来我就一直在使用这个设置,它很好。所有域用户都可以登录该计算机,并拥有自动创建的主目录等。唯一的例外是缺少离线身份验证。

根据桑巴维基 (https://wiki.samba.org/index.php/PAM_Offline_Authentication)smb.conf已被修改为包含winbind offline logon = yes.

在测试时它按预期工作。当手动将 winbind 设置为脱机 ( sudo smbcontrol winbind offline) 时,我可以验证 PAM 是否正在使用缓存的凭据。即使通过物理拔掉电缆,我也能达到同样的效果。

问题

但是当我拔掉电缆并重新启动系统时,我无法登录。它挂在 LightDM 登录屏幕上。我可以通过按Ctrl+ Alt+切换到控制台F1。我可以使用系统的 root 帐户登录,因为这不需要域控制器。当我使用 root 查看服务时,我可以看到 nmbd 没有运行。通过检查它的日志journalctl -xe,我发现它没有启动,因为没有可用的本地 IPv4 非环回接口

Debian GUI 安装中默认的网络配置工具是 NetworkManager。我nmcli general可以看到我是不是连接的。

快速而肮脏的解决方案

在不实际插入电缆的情况下,我通过输入手动激活接口nmcli connection up pewpewdefaultconnection。我重新启动 samba 和 nmbd 服务。瞧!它正在发挥作用。我可以输入我的凭据,甚至可以重新启动 lig​​htdm 服务并使用我缓存的凭据输入所有内容。

可以找到干净整洁的解决方案

因为我不想要像之前描述的那样丑陋的解决方案,所以我请求你帮助我。有没有人以干净的方式完成这个任务?我真的很感激任何帮助。

我不想设置一个进行调用的脚本,正如我之前描述的那样,因为它们看起来很丑陋。如果可能的话,我想更喜欢配置风格的东西。

注意:我尝试在网络接口中使用auto eth0并使其被 NetworkManager 的配置文件以managed=true.这并没有显示出任何改进。

答案1

我恢复了一切,只留下winbind offline logon = yessmb.conf。几天后,当拔掉以太网电缆时,我发现它正在工作。哈!?

在网络中的另一台客户端计算机上,我做了相同的配置更改smb.conf,我可以确认它也在那里工作。

相关内容