如何在 Samba Active Directory 服务器上指定 Linux 主目录和 shell?

如何在 Samba Active Directory 服务器上指定 Linux 主目录和 shell?

此问题与用作 Active Directory 域控制器时的 SAMBA 版本 4 相关。

我已完成允许域用户登录 Linux 的所有设置。但是,我已经搜索了很长时间,但找不到如何设置用户主目录和 shell。我/bin/false现在才刚刚开始。我已经安装好了winbindlibnss-winbind并且libpam-winbind可以正常工作 - 我可以登录,但是/bin/falseshell 并不完全有用!

我知道如何编辑idmap.ldb,例如设置用户的 UID,并且我可以编辑sam.ldb还可以编辑 其他属性。我有阿拉伯联合酋长国在加入 Samba 域的 Windows 机器上,这也有效。我已经尝试过,template homedirtemplate shell到目前为止smb.conf没有任何效果。

我希望我错过了一些非常简单的事情,而且答案很明显,但我正在遭受痛苦谷歌无盲经过很多时间寻找答案。即使是 Samba 文档也无法做到这一点。

答案1

[global]您可以在配置文件的部分中设置主目录和登录 shell 的默认值smb.conf

template shell    = /bin/sh
template homedir  = /home/%ACCOUNTNAME%

请注意,它是%ACCOUNTNAME%而不是%USamba 3 的情况。同样,它是%WORKGROUP%而不是%D。我还发现对这些值的更改不会生效smbcontrol all reload-config- 您必须重新启动 Samba 才能生效。

您应该能够将 RFC2307 属性添加到 LDAP 中的用户条目以指定每个用户的值,但这还不起作用。来自 桑巴维基:

目前 (4.1.11),具有 AD DC 角色的 Samba 服务器不使用标准 winbind 守护进程。这会导致 winbind 和 nss-winbind 仅获取 UID 和 GID,而不是登录 shell 和 home。 Samba 4.2 将提供使用标准 winbind 的可能性,从而规避此缺点。

因此,至少目前,我们仍坚持使用smb.conf.

相关内容