OpenLDAP 和 Samba,无法从 Windows 登录 Samba 共享

OpenLDAP 和 Samba,无法从 Windows 登录 Samba 共享

我接替的那位前 IT 人员在 Fedora 服务器上设置了一个 Samba 共享,该共享使用我们的 OpenLDAP 服务器来验证想要从 Windows 登录的用户。

我们最近增加了一名新员工,我通过 LDAP 的繁琐步骤将他们添加到系统中。但是,我似乎无法使用他们的登录名访问 Samba 共享。我查看了 LDAP 设置和组,并将新用户帐户与现有用户帐户进行比较,但无法确定此用户需要进行哪些 LDAP 设置才能访问 Samba 共享。

当然,这位前任愚蠢的 IT 人员没有记录任何内容,并且在网络上设置了各种奇怪的设置。所以我有点不知道该在这里寻找什么。

我应该从哪里开始呢?

在托管 Samba 共享的服务器上,他显然运行着 Samba,但也加载了 smbldap-tools。

答案1

您确定它使用 LDAP 进行身份验证而不仅仅是授权吗?如果您在 LDAP 中更改密码,共享是否允许使用旧密码或新密码登录?这是一个重要的问题 - 如果您更改密码但 Samba 服务器上似乎没有检测到,则 Samba 服务器可能正在使用本地设置的 Samba 用户并在 LDAP 中检查他们的组成员身份。

答案2

pdbedit在 Samba 控制器上是一个很好的起点。用户是否出现在 中pdbedit -L?您也可以使用net rpc users执行类似操作,但这是通过网络进行的,而不是直接查询密码数据库。

如果用户没有出现在输出中,则意味着不存在必要的属性。我们不使用 smbldap-tools,因此我们只能使用smbpasswd -a $usernamepdbedit -a $username,但您可能不是这种情况。

如果用户确实出现在输出中,那么我将开始查找堆栈的更高层。您可以使用 以用户身份登录吗net -U $username rpc share

日志文件通常也很有用 - 我们的日志文件位于 /var/log/samba/ 下的机器名称和 IP 地址下。您可以使用它smbcontrol smbd debug来调出相应的调试部分,例如passdb

答案3

有一个适用于 Windows 的 LDAP GUI 工具,名为ldap管理员。它以简单的、人性化的格式呈现 LDAP 目录中 samba 所需的数据。您还可以查看条目中的所有细节。

另外,你看过 smb.conf 中的 LDAP 配置内容吗?如果 LDAP 属性是自定义的,它会告诉你使用了哪些属性。

答案4

如果您不熟悉 Openldap / Samba 域控制器,则应小心谨慎。如果您破坏了某些东西,最终可能会导致无人能够登录域。

一般来说大多数人会使用 smbldap-tools ...即/opt/IDEALX/...smbldap-useradd -m -a 用户名;smbldap-passwd 用户名;smbpasswd 用户名。

有许多工具可用于将用户添加到 samba/openldap。samba 套件中包含“net”工具;它们是通用工具,其用途与 dos 中提供的 Windows 工具类似。

相关内容