LINUX.ORG.RU

Samba 4.0.0

 , ,


3

1

Samba 4.0.0 — путь в девять лет до первого стабильного релиза ветки с поддержкой функций Active Directory

Вопреки тоннам скепсиса, отсутствию внутри сообщества веры в доведение проекта до энтерпрайз-уровня, многочисленной критике выбранных при реализации решений и часто встречавшемуся непониманию необходимости в проекте, но в то же время исключительно благодаря кропотливому труду сплочённой команды разработчиков и тестировавших программный продукт сисадминов-энтузиастов, это наконец свершилось сегодня, 11 декабря 2012 года, - вышел первый стабильный выпуск четвёртой ветки файлового и принт-сервера Samba с поддержкой Active Directory Domain Services.

Сообщение об этом знаменательном событии было опубликовано в рассылке samba-announce релиз-менеджером Samba Team, Каролин Зигер (Karolin Seeger).

Прежде чем рассказать о возможностях, которые открывает релиз Samba 4.0.0, давайте вспомним историю разработки этого проекта. Если вы провели всё это время вместе с разработчиками Samba Team, то пролистайте с десяток абзацев вниз.

Можно предположить, что толчком к началу разработки Samba4 в марте 2003 года стал выход в это же время ОС Microsoft Windows Server 2003, которая содержала улучшенную в сравнении с Microsoft Windows Server 2000 версию Active Directory, Open Source реализацией которой должна была стать (и стала) Samba4. Однако скорее всего это не так, и разработчики Samba Team, представляя крупные ИТ-компании, имеющие в пакете услуг поддержку комплексных интегрированных решений на базе Unix/Linux - Red Hat, IBM, Cisco, SerNet и прочие, - держали в голове многочисленные запросы от клиентов, которые хотели от файлового и принт-сервера Samba нечто большего, а именно единого решения для управления пользователями, а это single-sign-on, разделение привилегий, групповые политики и т. п., как для зоопарка ОС семейства Microsoft Windows, так и для рабочих станций с ОС Linux, сочетая в себе с одной стороны максимальное подобие и совместимость с продуктами корпорации из Редмонда, а с другой - предоставляя привычные для nix-систем механизмы настройки и обслуживания.

Итак, 13 августа 2003 года Эндрю Триджел (Andrew Tridgell) официально начал долгий и нелёгкий путь разработки Samba4 созданием отдельной ветки тогда ещё в CVS-репозитории (Samba Team перейдёт с CVS на Subversion в апреле 2004, чтоб затем в январе 2008 перейти с Subversion на Git), о чём в рассылке samba-cvs осталось памятное свидетельство коммита. В тот же вечер в рассылке samba-technical Триджел опубликовал письмо «Samba4 initial code», в котором сообщалось буквально следующее:

As some of you have noticed we have released a first
testing version of the Samba4 code in a separate cvs area called
'samba4' on samba.org.

First off I want to explain that this is a long long way from being
production code. It is very incomplete in many areas and downright
broken in others. The main aim of this release is to give everyone an
idea of the general architecture that is planned for Samba4.

С перечнем целей и задач, которые поставили перед собой более девяти лет назад разработчики на то время Samba 2.2.x и только вышедшей ветки Samba 3.0.x, можно ознакомиться в презентации Эндрю Бартлета Samba 4 Status Update, опубликованной на международной конференции SambaXP 2004 вскоре после начала разработки, и в статье Фолкера Лендеке (Volker Lendecke) Advances in Samba4: помимо совместимости с Active Directory во главу угла ставилось полная реализация всех требуемых протоколов, асинхронность операций, инфраструктура тестирования для выявления регрессий, автогенерация RPC-инфраструктуры.

В конце 2004 года Samba4 преодолела важную стадию: Эндрю Триджел установил её своей жене Сьюзен в качестве файлового сервера для важных (sic!) документов. А в начале 2006 во время Linux.conf.au в Новой Зеландии был представлен technology preview 1 (TP1), с реализованными LDAP-каталогом и LDAP-бэкендами, центром распространения ключей Kerberos (KDC), виртуальной файловой системой (VFS) для добавления необходимых и адаптации имеющихся атрибутов файлов в виде необходимом для клиента (речь о NT ACL's), и даже JavaScript-интерфейсом!

Итого на пути к последней перед стартом alpha-тестирования preview-версии TP5 в июне 2007 года уже работал ввод и логин в домен, базовая поддержка SMART-карт, LDAP-бэкенд в реализации Fedora DS. Примерно к тому же времени появились наработки по поддержке протокола SMB2, кластеризации при помощи CTDB и альтернативе для сервера Microsoft Exchange - OpenChange, а Стефан Метцмахер (Stefan Metzmacher) опубликовал бакалаврские тезисы по репликации ActiveDirectory с использованием DRSUAPI. Как и год назад, во время доклада на конференции SambaXP 2006, поддержка групповых политик (GPO) ещё не была реализована, простейшая её реализация появилась лишь через девять месяцев после TP5 в первой альфе Samba4 в сентябре 2007.

Последующие альфы выпускались без чёткого соблюдения какого-либо цикла, и между релизами проходило обычно три, шесть, а то и девять месяцев. К третьей альфе JavaScript-интерфейс заменили биндинги на Python, костыли для сборки на Perl заменили на GNU Make, но Makefile писали вручную, окончально перехали на Git, а beta1 запланировали на конец 2008 года. В то же время поддержка LDAP-бэкендов уже тогда стала достаточно непростой из-за ряда особенностей в реализации LDAP от Microsoft. Как окажется позднее, более половины из перечисленного разработчикам взбредёт в голову переделать ещё раз, в том числе и отложить дату перехода к бета-тестированию, как окажется, на четыре года. Некоторые решения станут компромисом по причине отсутствия полноценных реализаций, запланированных быть написанными с чистого листа, как например франкенштейн «Franky», в последствии трансформировавшийся в s3fs, - сшитый из третьей и четвёртой ветки для работы AD-реализации из кодовой базы Samba4, а файлового сервера, наново написанный код которого в Samba4 не содержал многих требуемых функций, и принт-сервера, которого просто-напросто ещё не было, из отлаженной и оттестированной кодовой базы Samba3.

А тем временем в Microsoft не сидели сложа руки, выпустив за период 2007-2009 годов Windows Vista, Windows Server 2008 aka Longhorn, Windows 7 и Windows Server 2008 R2. Казалось бы, всё что сделано командой разработчиков Samba в рамках работы над совместимостью с 2003-им сервером теперь можно выбросить в топку, и всё придётся начинать сначала? И так с выходом каждой новой версии серверного продукта Windows? Команда Samba опровергла эти опасения, правда малость отстав, реализовав поддержку схемы совместимой с 2008-ым сервером и ввод в домен Vista/7 к выходу alpha8 в середине 2009 года. Помогло им или нет в этом решение Еврокомиссии в 2008 году, вынудившее Microsoft открыть документацию по некоторым своим проприетарным протоколам, сказать сложно, особенно с точки зрения полноты этой документации: для получения полной LDAP-схемы AD с использованием документации и не только ушло по словам Эндрю Бартлета полгода. А вот приглашения разработчиков Samba на Plugfest'ы, проводившиейся сначала Microsoft, а после отказа от этих мероприятий в Microsoft проводившиеся под эгидой SNIA, помогли выявить большое количество багов в разрабатываемом продукте.

Перевалив за десяток, альфа-версии стали весьма неплохи: всё больше добровольных альфа-тестеров писали в рассылку samba-technical об успешной сборке из исходных кодов, конфигурации (provision) и эксплуатации инсталяций Samba4 в малых и средних сетях. Сам Эндрю Бартлет неоднократно в рассылке и на конференциях SambaXP упоминал о «secret Russian production site», во время реальной продакшн-эксплуатации которого проявлялись неочевидные баги. После 16-ой альфы стабилизировался формат LDB-базы. Однако всё ещё не было встроенного сервера печати и поддержки NetBIOS - для этого необходимо было использовать сервер третьей ветки. Сервер DNS до 17-ой альфы надо было поддерживать самостоятельно в соответствии с Samba4/Howto, лишь в 18-ой версии появился выбор между встроенным DNS-сервером, DLZ-плагином к версиям BIND старше 9.8 и поддержкой файлов зон по старинке. Существовала и проблема с синхронизацией времени для Kerberos из-за надстроек Microsoft для Secure NTP: временным решением до момента интеграции NTP-сервера было использование хука к NTPd. Зато в 17-ой альфе появилась замечательная утилита samba3upgrade, позволяющая мигрировать с DC на Samba3 на Samba4. В марте 2010 после длительных дебатов Cmake vs SCons vs else состоялся переход на фреймворк сборки Waf, который помог задействовать ряд интересных приёмов при сборке проекта, связанных с разрешением зависимостей и линковкой. По состоянию на 2010 год достаточно стабильно работала DRS-репликация, GPO, удалённые профили и сайты, а во время проведения конференции SambaXP 2011 Мэтью Пато (Matthieu Patou) даже сообщил об успешной попытке расширения схемы Samba4 для поддержки Zarafa. Не обошлось и без непопулярных решений: так Эндрю Бартлет подняв вопрос о целесообразности поддержки LDAP-бэкендов, которые многие видели как способ связать воедино существующие решения на базе OpenLDAP и возможности Active Directory, предоставляемые Samba4, поднял волну негодования и разочарования среди потенциальных внедренцев проекта.

В таком состоянии Samba4 открыла счёт третьему десятку альфа выпусков весной 2012 года, давно получив в среде интересующихся несмотря на довольно стабильную работу прозвище «Вечная альфа». Но вечно такое положение вещей в проекте продолжаться не могло: сотрудничество с такими интеграторами как SerNet, Univention GmbH, до недавнего времени Resara LLC и другими, давало свои плоды в виде давления на разработчиков. Подобные этому пресс-релизы давали дополнительную надежду на коммерческую поддержку решений на базе Samba4 конечным пользователям. И Эндрю Бартлет сдался в конце 2011 года, заявив, что готов выпустить Samba 4.0.0 пускай с неполной функциональностью, но без приевшихся приставок греческого алфавита.

Заявленное тогда окно для релиза в три месяца по правде говоря выглядело изначально недостаточным - в итоге понадобился ровно год. Этот год был весьма напряжённым, особенно его вторая половина после начала подготовки beta-выпусков в мае 2012 года. Первая beta, выйдя в начале июня, содержала встроенные серверы NTP и DNS, позволяя для последнего в качестве альтернативы использовать механизм DLZ для ISC Bind 9.8/9.9; два файловых сервера: из четвёртой (NTVFS) и третьей (s3fs) ветки, с сервером третьей ветки по умолчанию. Восьмой beta-выпуск в конце августа завершил «летнюю» beta-серию Samba4 реализацией печати (spools-траффик обслуживает сервер третьей ветки благодаря включенному по умолчанию s3fs) и возможностью эксплуатации при наличии MIT Kerberos в системе (как в Fedora, например) благодаря встроенному Heimdal и overlink'ингу. Компиляция же с MIT Kerberos вместо Heimdal не позволит на данный момент иметь в Samba4 возможности AD DC.

RC1 не заставил себя долго ждать и начал осень релиз-кандидатов с добавления поддержки версии протокола SMB3 и включения её по умолчанию, правда без поддержки multi-channel, как и без поддержки lease для версии 2.1 протокола. Завершилась напряжённая осенняя пора чистки багов 4 декабря 2012 года с выходом RC6 и запланированным релизом Samba 4.0.0.

Теперь собственно о релизе:

Samba4 включает в себя:

  • LDAP-сервер, хранящий схемы в формате LDB;
  • имплементацию Kerberos 5 KDC Heimdal;
  • две альтернативы для файлового сервера:
    • NTVFS - асинхронный стекируемый файловый сервер с поддержкой POSIX-бэкенда, разработанный с чистого листа специально для Samba4;
    • s3fs - файловый сервер третьей ветки Samba, включенный по умолчанию в Samba 4.0.0 как более функциональный и оттестированный;
  • сервер печати силами сервера третьей ветки Samba;
  • сервер доменных имён (DNS) посредством:
    • встроенного DNS-сервера;
    • DLZ-плагина к ISC BIND версии 9.8 и старше;
  • NTP-сервер с функцией цифровой подписи посредством ntpd >= 4.2.6;
  • Python Scripting Interface, который позволяет получить доступ к внутренностям Samba4, собственно поэтому часть инструментов для управления контроллером домена написаны на Python.

В Samba 4.0.0 разработчики реализовали и оттестировали до различной степени готовности следующие функции:

  • стабильные:
    • преобразование идентификаторов пользователей и групп из представления Unix в представление Windows (Winbind);
    • логин учётных записей пользователей в домен;
    • учётные записи рабочих станций;
    • групповые политики (GPO);
  • тестируется:
    • DRS-репликация (известны случаи отказов при репликации);
  • на этапе завершения внедрения:
    • поддержка протоколов SMB2 и SMB3 и в файловом сервере NTVFS, и в файловом сервере s3fs, с протоколом по умолчанию SMB3;
    • запуск файлового и принт-сервера третьей ветки не отдельным процессом, а форком из процесса samba с настроенной аутентификацией файлового сервера в домене Samba4;
  • в активной разработке:
    • встроенный DNS-сервер (пока без поддержки DNSSEC);
    • доверительные отношения (Domain Trusts);
    • консольная утилита для администрирования samba-tool (могут также использоваться встроенные в Windows средства администрирования AD);
    • оригинальный файловый сервер четвёртой ветки NTVFS (не содержит полной реализации всех необходимых атрибутов);
    • сервер печати (пока посредством сервера третьей ветки);
    • RODC (Read Only DC);
    • поддержка схем Microsoft Exchange.

Как и много лет назад, каждый желающий протестировать Samba4 должен начать с прочтения статьи Samba4/HOWTO на Samba-wiki. За годы разработки в базе знаний проекта количество статей по Samba4 выросло до двух сотен и содержит почти всю историю разработки от первых планов и двухнедельных фантазий Эндрю Бартлета и Джелмера Верноий (Jelmer Vernooij) до текущего статуса проекта и многочисленных руководств.

Получить поддержку и узнать подробнее о статусе проекта как всегда можно в IRC-канале #samba и рассылке samba, а узнать о последних новостях, успехах, проблемах в разработке и присоединиться к Samba Team соответственно в IRC-канале #samba-technical и рассылке samba-technical.

И как заведено: «Our Code, Our Bugs, Our Responsibility. The Samba Team.»

Автор новости — Андрей Шинкарчук

>>> Подробности

★★★★★

Последнее исправление: cetjs2 (всего исправлений: 4)

Ответ на: комментарий от kukara4

Ну, тогда речь не о «больших» организациях, а об организациях, хм, с особым стилем управления. Впрочем, сертифицированный и поддерживаемый опенсорс вполне существует.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Кроме RHEL, я тут ничего не видел. Да и чем больше компания, тем больше всякого корпоративного булшита. Телефиония - cisco, виртуализация - vmware и бла-бла-бла. Ну опять-таки, везде есть исключения конечно.

kukara4 ★★
()
Ответ на: комментарий от kukara4

Я сейчас работаю с банками, страховыми компаниями и другими корпоративными _большими_ компаниями. Там не будет опенсорца, как такового вообще, это просто невозможно.

У меня для тебя «плохие» новости.

Там наверху им абсолютно пофигу и срать на то что там какая-то подделка теоретически может что-то заменить существующее. Там правит мир откатов интеграторов и прикрывания своей жопы, путем перекладывания ответственности на чужие плечи. .. В тех компаниях с кем я имею дело, админы - это просто негры, от них ничего не зависит и архитектурных решений они практически не принимают.

Ты описал 90е годы. Слава Б-гу 21 век на дворе! )

Да и тем более, AD c Виндой отлично решают их задачи, кроме одминов, кому оно вообще надо? Админ не сможет просто достойно аргументировать необходимость владения опенсорцом, если есть аналоги котоыре можно купить и их саппортят.

Это только до тех пор, пока Линукс труднее в обслуживании Виндуса. С каждым днем Линукс становится доступнее для простого пользователя/админа, а Виндовс наоброт - катится в ад. Как только бизнес получит удобный инструмент для разворачивания файлового/почтового/пользовательского сервера, то ему будет, как ты говоршь, срать на цветные коробки и сертификаты - сразу поставят линукс сервер и еще будут хвастать: «Вован, а ты знаешь, мы вчера модный современный сервер поставили - Бубунту называется!»

Весы замерли в равновесии. И вот-вот качнутся в сторону OpenSource. Мгновенно толпы хомячья кинутся сносить Шындошс и устанавливать Линукс, как 100 лет назад спрыгивали с лошадей и покупали «Форды».

Норот он такой, сначала хихикает. А когда видит что он быдло, пытается наверстать, и делает это массово, валом.

Novator ★★★★★
()
Ответ на: комментарий от kukara4

Я ж не злой, просто такие вещи задвигал тоже когда-то ... в лет 14 ;)

Нет-нет, ты меня неправильно классифицировал. Я не против OpenSource. Более того, я его ярый сторонник.
То что позволил себе критику в адрес Samba - это как критика анархо-коммуниста в адрес национал-коммунизма. Т.е. это спор двух друзей.

Сам использую samba много лет. И ни за что не пересяду в бесконечные админки от Балмера. Мне просто неприятно слышать от быдло-админов, что в линуксе-де сложно разобраться и «нет нормальных графических конфигураторов».

Много лет ждал хорошего решения под Линукс, чтобы можно было в него натыкать мордой быдло-админов: «Смотрите, реально удобно админить пользователей, ресурсы, политики!». А они такие: «Слушай, действительно, просто и удобно. Ну-ка дай ссылку...».

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

Сегодня можно только отмахнуться от виндузятника. Но тыкнуть его мордой, и сказать «ну что, съел?» - не получается. А хочется черт возьми! ))

Novator ★★★★★
()
Ответ на: комментарий от Alve

У меня на работе не очень, но смешанная среда, 70 компов, не считая тестовых на винде и ещё 2-5 на никсах и 5 на MAC OSx. Вот после нового года буду переводить PDC с глючной самбы на Win Serv 2003 R2, а BDC пусть булькает на самбе, не готова она ещё заменить AD, ой как не готова.

P.S. В данный момент даже в кроне настроен перезапуск самбы 3 раза в день, ибо отжирает памяти и вешается. Прошлый админ баловался, когда есть лицензия на Win Serv, а я теперь разгребаю глюки и прочее, почему юзеры не могут в домен войти по имени домена.

TerAnYu
()
Ответ на: комментарий от Novator

У меня для тебя «плохие» новости.

Кхм, самописное узкая система для решения конкретно своих задач и AD это разные вещи. От линукса там только платформа, и то, уверен что RHEL. Тем более, тут разговор конкретно за самбу.

Ты описал 90е годы. Слава Б-гу 21 век на дворе! )

Желтизна, прогнозы, никакой конкретики.

Это только до тех пор, пока Линукс труднее в обслуживании Виндуса. С каждым днем Линукс становится доступнее для простого пользователя/админа, а Виндовс наоброт - катится в ад. Как только бизнес получит удобный инструмент для разворачивания файлового/почтового/пользовательского сервера, то ему будет, как ты говоршь, срать на цветные коробки и сертификаты - сразу поставят линукс сервер и еще будут хвастать: «Вован, а ты знаешь, мы вчера модный современный сервер поставили - Бубунту называется!»

Выходи с мира утопии, такого не будет. Как бы тебе еще раз обьяснить, в больших конторах админы мало что решают. Никого не волнует сложность обслуживания, это не аргумент. Аргументами является стоимость владения, отказоустойчивость, саппорт и ответственность.

Ты не поверишь, но многие предпочтут найти козла отпущения, а не становится им.

P.S Может хватить уже фанатничать или это троллинг такой?

kukara4 ★★
()
Ответ на: комментарий от kukara4

Мне было видение. Вижу я 2014 год...

Толпа юных админов с флешками бодро поднимающими AD-подобный сервер на линукс за 17 минут. (я точно не разглядел, Samba5 это или что-то другое).

Старые микрософт специалисты тоже ходят с этими флешками, но понуро, и всё время злобно ворча себе под нос странные фразы из прошлого: «сертификаты», «лицензии», «эмбиэй», «патенты»...

Novator ★★★★★
()
Ответ на: комментарий от shahid

В надежде, что хоть кто-то не проскроллит мимо?

Не, в надежде, что в учебники по OpenSource для средней школы внесут.

anonymous
()
Ответ на: комментарий от anonymous

Так пока код бэкендов не выкинули, вместо того чтоб чертыхаться, бери да поддерживай.

А вообще в рамках FreeIPA запилят синк логинов и паролей между LDAP Samba и обычным LDAP-каталогом и наступит светлое грядущее

anonymous
()

Ураа! :-)

Жалко я gtkldb до ума не довел.

ei-grad ★★★★★
()
Ответ на: комментарий от Jaga

Я не понимаю, зачем нужно избавляться от оффтопика, если оффтопика нет.

Ты сам понял что спросил? samba4 это средство для уменьшения доли винды если она есть и только.

kerneliq ★★★★★
()
Ответ на: комментарий от Jaga

Не всегда есть возможность полностью от нее избавится.

kerneliq ★★★★★
()
Ответ на: комментарий от Jaga

Кроме RHEL, я тут ничего не видел.

А оно есть.

Бывает.

kukara4 ★★
()

имхо с натяжкой на RC тянет //facepalm//

GOD ★★★
()
Ответ на: комментарий от Novator

Как на линукс клиенте мне расшарить папку из «проводника»? Чтобы правой кнопкой по папке и «Дать доступ».

не знаю как у вас в линуксе, но у нас в убунте это есть давно.

awesome
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.