После очередного обновления файлового сервера 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 с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Доброе.
"Признаться, я немного напрягся, когда словил эту ошибку"
Так не пишут _грамотные_ люди. Исправьте, пож-та.
Заметил что, когда установил 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)
Ну так он и устарел. Я же об этом и написал. Но устарел, только если ты его используешь как дефолтный параметр для всех доменов. Если прописать для конкретного, как сделал я, то нормально работает. Я не понял, в чем смысл такого поведения.
Кстати, эту же ссылку читал.
а вообще что он дает этот base_rid = 0?
Не знаю :)