問題
なるべく RockyLinux バージョンを 8.7 に固定したくてインストールメディア内の winbind パッケージを使用して ActiveDirectory 連携をした。
# yum --disablerepo=\* --enablerepo=InstallMedia-* --releasever=8.7 install samba-winbind samba-winbind-clients
# net ads join
AD参加はできたが、idコマンドでユーザ情報を表示しようとするとデフォルトグループしか表示されない。
# id xxxxx
uid=11306(xxxxx) gid=10513(domain users) groups=10513(domain users)
解析
# smbcontrol winbind debug 10
としてログレベルを上げて idコマンド実行時のログを見ると、 NT_STATUS_OBJECT_NAME_NOT_FOUND となっていてユーザ情報取得時に失敗している模様。
...
../../librpc/ndr/ndr.c:484(ndr_print_function_debug)
wbint_LookupUserAliases: struct wbint_LookupUserAliases
in: struct wbint_LookupUserAliases
sids : *
sids: struct wbint_SidArray
num_sids : 0x00000010 (16)
sids: ARRAY(16)
sids : S-1-5-21-3973462380-3092671858-2928372798-513
...
../../librpc/ndr/ndr.c:484(ndr_print_function_debug)
wbint_LookupUserAliases: struct wbint_LookupUserAliases
out: struct wbint_LookupUserAliases
rids : *
rids: struct wbint_RidArray
num_rids : 0x00000000 (0)
rids: ARRAY(0)
result : NT_STATUS_OBJECT_NAME_NOT_FOUND
...
ログに出ている sids リストについて、wbinfo --sid-to-name
で変換してみると、正しく得られる。
$ wbinfo --sid-to-name S-1-5-21-3973462380-3092671858-2928372798-513
Domain Users 2
NT_STATUS_OBJECT_NAME_NOT_FOUND をキーワードに検索してみると、winbind 4.16.4 にはどうやらバグがあるらしい。
実際、winbindバージョンを見るとドンピシャ。
# yum info samba-winbind
Installed Packages
Name : samba-winbind
Version : 4.16.4
Release : 2.el8
Architecture : x86_64
Size : 1.2 M
Source : samba-4.16.4-2.el8.src.rpm
Repository : @System
From repo : InstallMedia-BaseOS
Summary : Samba winbind
URL : https://www.samba.org
License : GPLv3+ and LGPLv3+
Description : The samba-winbind package provides the winbind NSS library, and some client
: tools. Winbind enables Linux to be a full member in Windows domains and to use
: Windows user and group accounts on Linux.
対処
RockyLinux 8.7 に限定しないで yum search すると winbind 4.18.6 が提供されているので更新。
# yum install samba-winbind samba-winbind-clients
インストール後に id コマンドを実行してみると、ちゃんと表示された。
# id xxxxx
uid=11306(xxxxx) gid=10513(domain users) groups=10513(domain users),10572(denied rodc password replication group),11649(groupmanagers),11164(roaming user profiles users and computers), ...
下手にバージョンを上げないようにするとこんなこともある。