Invalid idmap backend rid configured as the default backend!

После очередного обновления файлового сервера Samba на CentOS 7, отказался запускаться Winbind. Соответственно, сетевые шары перестали работать. Сразу вспомнил мудрую админскую поговорку: "Не было печали, апдейтов накачали". Сервер стоял в локальной сети и без обновлений прожил бы до пенсии, но я привык накатывать обновления.

Онлайн-курс по устройству компьютерных сетей

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Сразу расскажу решение. У меня были такие параметры в smb.conf:

idmap config * : backend = rid
idmap config * : range = 5000-10000000
idmap config * : base_rid = 0

С какой-то версии самбы, предположительно 4.6, beckend rid стал depreciated. Winbind отказывался стартовать, выдавая ошибку:

Sep 30 22:58:02 files winbindd[28721]: [2017/09/30 22:58:02.384908, 0] ../source3/winbindd/winbindd.c:1705(main)
Sep 30 22:58:02 files winbindd[28721]: main: FATAL: Invalid idmap backend rid configured as the default backend!
Sep 30 22:58:02 files systemd: winbind.service: main process exited, code=exited, status=1/FAILURE
Sep 30 22:58:02 files systemd: Failed to start Samba Winbind Daemon.
Sep 30 22:58:02 files systemd: Unit winbind.service entered failed state.

Проблема решилась на удивление просто. Я не стал менять бэкенд на tdb. Достаточно было вместо * указать имя домена. Получилось вот так:

idmap config XS : backend = rid
idmap config XS : range = 5000-10000000
idmap config * : range = 5000-10000000
idmap config XS : base_rid = 0

XS здесь имя домена. И о чудо, winbind запустился и даже не похерил старые UID. Все права доступа для пользователей домена сохранились. Я не понял, почему он изначально не хотел работать, а с указанием домена заработал. Решение нашел в буржуинском гугле. Winbind ругается только тогда, когда rid установлен как дефолтный бэкенд. А если для конкретного домена, то нормально.

Признаться, я немного напрягся, когда словил эту ошибку. Проблемы с winbind частенько приводят к тому, что слетают права доступа на шарах из-за нарушения соответствия доменных учеток и локальных UID. Но в этот раз обошлось. Позже напишу статью, как сохранять и восстанавливать UID доменных учетных записей, чтобы можно было восстановить права доступа к шарам, если они слетают.

Углубленный онлайн-курс по MikroTik.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

5 комментариев

  1. Доброе.

    "Признаться, я немного напрягся, когда словил эту ошибку"

    Так не пишут _грамотные_ люди. Исправьте, пож-та.

  2. Заметил что, когда установил rid, то на серверах онлайн uid меняться перестал, но на машинах которые ведены в домен иногда их забывают, хотя часть данных пользователя остаются (uid и главный gid) но после 5 минут онлайн данные возвращались обратно. На просторах вычитал что в файле nsswitch.conf нужно заменить параметр (passwd: compat winbind) на (passwd: files winbind), заменил, пока тихо))))))
    А и еще вроде в доках самбы писал что параметр idmap config * : base_rid = 0 устарел (https://www.samba.org/samba/docs/man/manpages-3/idmap_rid.8.html)

    • Ну так он и устарел. Я же об этом и написал. Но устарел, только если ты его используешь как дефолтный параметр для всех доменов. Если прописать для конкретного, как сделал я, то нормально работает. Я не понял, в чем смысл такого поведения.

      Кстати, эту же ссылку читал.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar