У меня проблема с кэшированием пользователей из samba4 AD с помощью nsscache, так как в AD нет uid
, скорее samAccountName
или cn
. Когда я использую атрибут, подобный uid:
# Default uid-like attribute
ldap_uidattr = 'sAMAccountName'
, я получаю следующую ошибку:
# nsscache update --full
WARNING:root:invalid object passed: 'uid' not in {'modifyTimeStamp': ['20190915102717.0Z'], 'sAMAccountName': ['user'], 'cn': ['user']}
Traceback (most recent call last):
File "/usr/sbin/nsscache", line 33, in <module>
return_value = nsscache_app.Run(sys.argv[1:], os.environ)
File "/usr/lib/python2.7/dist-packages/nss_cache/app.py", line 240, in Run
retval = command_callable().Run(conf=conf, args=args)
File "/usr/lib/python2.7/dist-packages/nss_cache/command.py", line 230, in Run
force_lock=options.force_lock)
File "/usr/lib/python2.7/dist-packages/nss_cache/command.py", line 303, in UpdateMaps
force_write=force_write)
File "/usr/lib/python2.7/dist-packages/nss_cache/update/updater.py", line 275, in UpdateFromSource
force_write, location=None)
File "/usr/lib/python2.7/dist-packages/nss_cache/update/map_updater.py", line 75, in UpdateCacheFromSource
location=location)
File "/usr/lib/python2.7/dist-packages/nss_cache/sources/source.py", line 63, in GetMap
return self.GetPasswdMap(since)
File "/usr/lib/python2.7/dist-packages/nss_cache/sources/ldapsource.py", line 371, in GetPasswdMap
since=since)
File "/usr/lib/python2.7/dist-packages/nss_cache/sources/ldapsource.py", line 589, in GetUpdates
raise ValueError('Invalid object passed: %r', obj)
ValueError: ('Invalid object passed: %r', {'modifyTimeStamp': ['20190915102717.0Z'], 'sAMAccountName': ['user'], 'cn': ['user']})
Можно ли настроить nsscache с активным каталогом?
Спасибо
Похоже, настроить nsscache с активным каталогом невозможно. Заглянув в исходный код, я обнаружил, что здесь - исключение, а здесь - важные поля, необходимые в качестве атрибутов объекта.
Ни uid
ни uidNumber
, ни gitNumber
не являются частью объекта в активном каталоге samba4.
Атрибут uid
может быть добавлен, но ни uidNumber
] и gidNumber
разрешены согласно схеме.