3.3.3. Сопоставление встроенных идентификаторов пользователей и групп
По умолчанию контроллер домена Samba сохраняет идентификаторы пользователей и групп в атрибутах xidNumber
в idmap.ldb
. Из-за особенностей работы idmap.ldb
нельзя гарантировать, что каждый контроллер домена будет использовать один и тот же идентификатор для данного пользователя или группы.
Ниже описана процедура синхронизации
idmap.ldb
с контроллера домена, на котором установлена роль FSMO
Эмулятор PDC (см.
Роли FSMO), со всеми остальными контроллерами домена. Для достижения наилучших результатов следует регулярно синхронизировать
idmap.ldb
.
На контроллере домена, имеющего роль FSMO
Эмулятор PDC:
Установить пакет
ldb-tools, если он еще не установлен:
# apt-get install ldb-tools
Создать резервную копию файла
/var/lib/samba/private/idmap.ldb
:
# rm -f /var/lib/samba/private/idmap.ldb.bak
# tdbbackup -s .bak /var/lib/samba/private/idmap.ldb
Создать ежедневное задание cron:
#Создание резервной копии idmap.ldb
0 3 * * * rm -f /var/lib/samba/private/idmap.ldb.bak && tdbbackup -s .bak /var/lib/samba/private/idmap.ldb >/dev/null 2>&1
На контроллерах домена, которые не выполняют роль эмулятора PDC:
Скопировать файл резервной копии, созданный на DC с ролью
Эмулятор PDC (в примере dc1), в каталог
/var/lib/samba/private/
с удалением суффикса .bak (заменить существующий файл):
# rsync -a dc1:/var/lib/samba/private/idmap.ldb.bak /var/lib/samba/private/idmap.ldb
Запустить очистку кеша:
# net cache flush
Проверить разрешения ACL SysVol и при необходимости сбросить их:
# if ! samba-tool ntacl sysvolcheck; then samba-tool ntacl sysvolreset; fi
Если всё прошло успешно, создать ежедневное задание cron:
#Синхронизация idmap.ldb
15 4 * * * rsync -a dc1:/var/lib/samba/private/idmap.ldb.bak /var/lib/samba/private/idmap.ldb && net cache flush && if ! samba-tool ntacl sysvolcheck; then samba-tool ntacl sysvolreset; fi >/dev/null 2>&1