私たちは、SambaとWinbind(idmap_ad)を使用したAD認証を6台のCentos 6サーバーに正常に展開し、数か月間問題なく稼働しています。
サーバーの1つが特定の1つのユーザー名(#id username)の解決を停止しました。このADユーザーは他のすべてのサーバーで解決し、他のすべてのユーザーは問題のあるサーバーで解決します。
これは、winbindd_idmap.tdbの破損が原因である可能性があります。これを確認する最も簡単な方法は、winbindを停止してファイルをアイドル状態にし、sambを再起動してwinbindを開始してから、再試行することです。私の問題は、現在変更の凍結があり、理論をテストするためにRFCなどを上げる必要があることです。
私の質問は、サービスを再起動せずにwinbindキャッシュをクリアすることは可能ですか?
または、他の問題だと思われる場合は、遠慮なく参加してください!
ありがとう
更新:
変更の凍結が完了しました。
Winbindd_idmap.tdbとwinbindd_cache.tdbを削除し、winbindを再起動しました。これはそれを解決していません。
また、サーバーはランダムな新規ユーザーを解決しません(解決する場合もあればしない場合もあります)。これを理解するのに苦労しています。
誰か助けてもらえますか?
これで解決しました、これは私のために働きました:
すべてのWinbindキャッシュをクリアし、net cache
をフラッシュしました。
何かを削除する前に、必ずバックアップを取ってください。
WinbindおよびSambaサービスを停止します。
service winbind stop
service smb stop
Samba Netキャッシュをクリアします。
net cache flush
Winbindキャッシュを削除します。
rm -f /var/lib/samba/*.tdb
rm -f /var/lib/samba/group_mapping.ldb
Sambaを開始してからWinbindサービスを開始します-注:順序は重要です
service smb start
service winbind start
ユーザーの解決を試みてテストします。
多分 net cache flush
しましょう。
service winbind stop
service stop samba
rm –rf /var/lib/samba
mkdir -p /var/lib/samba/private
rm –rf /var/cache/samba
net join ads –S "yourADserver" –U username
service winbind start
service samba start
削除しなければなりませんでした/var/cache/samba
同様に、マルコの回答に加えて(DebianおよびUbuntu)
Smb.confで 'winbind cache time'を小さい値(0ではなく、機能していないように見える)に設定します。
https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html#WINBINDCACHETIME
このパラメータは、winbindd(8)デーモンがユーザーとグループの情報をキャッシュしてからWindows NTサーバーに再度クエリを送信するまでの秒数を指定します。
これは認証要求には適用されません。winbindオフラインログオンオプションが有効になっていない限り、これらは常にリアルタイムで評価されます。
デフォルト:winbindキャッシュ時間= 300
私は すべてのtdbファイルの完全性をテストする を試すかもしれません。多くのtdbファイルがあります。
Tdbbackupユーティリティは、samba tdbファイルのバックアップに使用できるツールです。このツールは、Sambaの起動前または通常の操作中にtdbファイルの整合性を検証するためにも使用できます。ファイルの破損が見つかった場合は、以前のバックアップで、破損したtdbファイルが復元されるバックアップファイルを検索します。 tdbbackupユーティリティはいつでも安全に実行できます。 Sambaの動作中であっても、いつでもtdbファイルの整合性を検証するために使用できるように設計されています。