当我使用 samba/winbind 将我的 Linux 机器绑定到 AD 域后运行 sudo 命令时,它需要 10 秒到 2 分钟的时间才能响应,然后才会提示我输入密码。
我检查了我的 /etc/resolv.conf,DNS 似乎设置正确。dig 等命令运行顺利,所以我假设问题一定与 DNS 无关。与其他帖子一样,我还确保我的主机名和 FQDN 都列在 /etc/hosts 中以进行环回。
我将 winbind 日志级别设置为 10,并检查了日志。我不知道哪些重要,哪些不重要,但我在日志中注意到了一些事情:
[2013/06/05 10:05:19.481689, 1] ../librpc/ndr/ndr.c:284(ndr_print_function_debug)
wbint_LookupName: struct wbint_LookupName
in: struct wbint_LookupName
domain : *
domain : 'MYDOMAIN'
name : *
name : 'ROOT'
flags : 0x00000008 (8)
[2013/06/05 10:05:19.481857, 1] ../librpc/ndr/ndr.c:284(ndr_print_function_debug)
wbint_LookupName: struct wbint_LookupName
out: struct wbint_LookupName
type : *
type : SID_NAME_USE_NONE (0)
sid : *
sid : S-0-0
result : NT_STATUS_NONE_MAPPED
[2013/06/05 10:05:19.482076, 5] winbindd/winbindd_getgroups.c:186(winbindd_getgroups_recv)
Could not convert sid S-0-0: NT_STATUS_NONE_MAPPED
[2013/06/05 10:05:19.482121, 10] winbindd/winbindd.c:679(wb_request_done)
wb_request_done[3787:GETGROUPS]: NT_STATUS_NONE_MAPPED
它似乎试图在域中查找用户 ROOT,这显然不应该发生...这可能是原因的根源吗?如果是这样,我该如何解决这个问题?
答案1
它肯定会这样做,确保你有
passwd files ldap
group files ldap
shadow files ldap
在 nsswitch.conf 中。否则,每个需要提升权限的系统调用都会变得非常缓慢。
答案2
不确定它是否有帮助,但是您是否有一个username map
包含以下内容的文件:
root = administrator
nobody = guest
以及 smb.conf 中指向它的全局参数,例如
username map = /etc/samba/smbusers
以及全局参数
map to guest = bad user
?
答案3
尝试添加
winbind enum users = no
winbind enum groups = no
winbind nested groups = false
至/etc/samba/smb.conf
,在节中[global]
注意:这将禁用嵌套组
答案4
这是一个老问题,但看起来非常相似。我遇到过这样的问题,结果发现我在SAMBA 配置interfaces
列表中添加了一个 VPN 接口(wireguard)。/etc/samba/smb.conf
即使不重新启动任何服务,删除此行也可以修复 sudo/su/etc 需要 20 多秒才能给我提示的问题。我相信这是因为 samba-dcerpcd 需要很长时间才能启动 rpcd_lsad。