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 -u
、wbinfo -g
、getent passwd UserName
などのさまざまなコマンドは、ドメイン名なしでアカウントを返します。これを設定しないと、Domain\UserName
やDomain\Domain Users
のような結果が得られます。これを設定したくないかもしれない理由は、ログインが単一のドメインに制限されるためです。
ただし、smb.confからこの設定を削除すると、ログインできなくなります。 SSHログインでdomain\usernameを提供しようとすると、フォーマットの問題であると思われます。 domain\username、domain + username、username、およびusername @ domainを試しました。すべて失敗しました。
winbind use default domain
が設定されていないときに、これらのADユーザーのSSHログインを取得する方法を知っている人はいますか?
問題を解明した
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
を実行すると、ログイン資格情報が変更されて機能します。