未设置“winbind 使用默认域”时使用 AD 用户登录

未设置“winbind 使用默认域”时使用 AD 用户登录

我有一个 Samba4 域控制器,并已将 Ubuntu 16.04 成员服务器添加到域中。我为此使用了 samba+winbind,一切似乎都正常。idmap 后端是使用“ad”设置的。以下是 smb.conf,供参考。

[global]
        workgroup = name
        realm = NAME.DOMAIN.COM
        netbios name = app02
        security = ADS
        log file = /var/log/samba/%m.log
        log level = 1

        # Default idmap config for local BUILTIN accounts and groups
        idmap config * : backend = tdb
        idmap config * : range = 3000-7999

        # idmap config for the NAME domain
        idmap config NAME:backend = ad
        idmap config NAME:schema_mode = rfc2307
        idmap config NAME:range = 10000-999999

        # Template settings for login shell and home directory
        winbind nss info = template
        template shell = /bin/bash
        template homedir = /home/%U
        winbind use default domain = yes

winbind use default domain = yes我遇到的问题与我没有在 smb.conf 中设置时进行身份验证(SSH)有关。

当您将其设置为是时,各种命令(如、、)wbinfo -u将返回不带域名的帐户。如果您不设置它,您将得到像和这样的结果。您可能不想设置它的原因是它会将您的登录限制在单个域中。wbinfo -ggetent passwd UserNameDomain\UserNameDomain\Domain Users

但是,当我从 smb.conf 中删除此设置时,我无法再登录。我怀疑这是在 SSH 登录时尝试提供域\用户名时的格式问题。我尝试过域\用户名、域+用户名、用户名和用户名@域。全部失败了。

winbind use default domain是否有人知道在未设置的情况下如何让这些 AD 用户使用 SSH 登录?

答案1

找到问题所在

我正在删除winbind use default domain设置smb.conf然后运行sudo smbcontrol all reload-config。我认为这足以让一切都正常,但事实并非如此。

无论出于什么原因,winbind 都没有更新。我需要停止服务,清除缓存,然后重新启动。

service winbind stop
net cache flush
service winbind start

奇怪的是,我这样做之后问题就没再出现。现在我可以更改设置winbind use default domain和/或winbind separator,运行sudo smbcontrol all reload-config,登录凭据就会更改并正常工作。

相关内容