web-dev-qa-db-ja.com

「winbind use default domain」が設定されていない場合に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

私が抱えている問題は、smb.confでwinbind use default domain = yesを設定しない場合の認証(SSH)に関連しています。

これをyesに設定すると、wbinfo -uwbinfo -ggetent passwd UserNameなどのさまざまなコマンドは、ドメイン名なしでアカウントを返します。これを設定しないと、Domain\UserNameDomain\Domain Usersのような結果が得られます。これを設定したくないかもしれない理由は、ログインが単一のドメインに制限されるためです。

ただし、smb.confからこの設定を削除すると、ログインできなくなります。 SSHログインでdomain\usernameを提供しようとすると、フォーマットの問題であると思われます。 domain\username、domain + username、username、およびusername @ domainを試しました。すべて失敗しました。

winbind use default domainが設定されていないときに、これらのADユーザーのSSHログインを取得する方法を知っている人はいますか?

2
JayG30

問題を解明した

winbind use default domainsmb.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を実行すると、ログイン資格情報が変更されて機能します。

2
JayG30