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)
Ответ на: комментарий от queen3

По каким другим собственно? Подключиться можно без вопросов, расшарить тоже. Что ещё юзеру надо?

С юзерами, допустим, разобрались.
Теперь давай про админов.

Если самба такая распрекрасная, почему до сих пор админы воротят морды от неё? Задумывался над этим?

Почему они предпочитают кликать мышкой «Новый пользователь», ввести «Вася», нажать «ОК», вместо ввода пачки команд:

su ****
useradd vasya
passwd vasya
smbpasswd -a vasya
nano /etc/samba/smbusers
/etc/init.d/smb reload
exit

Они не понимают своего счастья убогие?!

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

админы

...

Почему они предпочитают кликать мышкой «Новый пользователь», >ввести «Вася», нажать «ОК», вместо ввода пачки команд:

даже виндовые мудаки предпочитают powershell или как его там ... меняйте окружение :-)

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

Почему они предпочитают кликать мышкой «Новый пользователь», ввести «Вася», нажать «ОК», вместо ввода пачки команд:

Потому что они предпочитают webmin для файлопомоек?

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

«Они» - это админы, которые воротят морды от линукс.
Куришь что ли, сынок? Завязывай. А то итак глаза красные ))

Что касается меня, то ни микрософтовские, ни линуксовые админки я не считаю идеальными. Да, из двух зол я выбираю линуксовые.

Но если говорить об удобстве использования, о принципе наименьшего удивления, об эстетичности, то для меня идеалом админок является продукция Kerio. К счастью Керио начали выпускать свой софт и под линукс. Например свой MailServer, который щас называется "Connect" прекрасно робит под линуксом и маком.

К сожалению, WinRoute (щас называется "Control") робит пока только под оффтопиком.

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

Novator ★★★★★
()
Последнее исправление: Novator (всего исправлений: 1)
Ответ на: комментарий от Novator

О, приятная штучка! Даже нашел описание:

Я сам офигел, когда поставил. Ту же самбу безрезультатно пытался двое суток настроить, а там - все на одной странице

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

Автору этого глупого коммента.

Ты не админ, и даже не админ локалхоста, и даже не суппортер. Прекрати пересказывать частично услушанные от кого-то слова и свои догадки. Вот тут говоришь так дерзко - админы, энтерпрайз, гуи, морды и «О Боже!!» - webmin. Что я могу тебе сказать, самба 4 интересная вещь, но не более, в больших компаниях она никогда не взлетит, и не потому-что у тебя не хватает ума ее настроить или у кого-то.

Перестань троллить уставших дядек, и так замученых суровыми буднями.

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

самба 4 интересная вещь, но не более, в больших компаниях она никогда не взлетит

Блин! А мужики и не знали! Срочно все сносим и ставим Шиндовз!

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

Срочно все сносим и ставим Шиндовз!

От самбы возможен толк, если есть виндовые ПК. Если же их нет или мало, самба не нужна. Вывод: самба плодит виндузятников.

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

для меня идеалом админок является продукция Kerio

Да ты болен. Более невменяемой «админки» чем керио я в жизни не видел. Голимый command-line и то в разы вменяемей чем тот лютый песец, которым козыряет керио.

Например свой MailServer

Не нужно. Существуют dovecot, sendmail, postfix, procmail, spamassassin, roundcube и толпы других. И кстати намного более мощных и гибких, чем это ...но котором кериовцы пытаются «общастливить».

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

самба 4 интересная вещь, но не более, в больших компаниях она никогда не взлетит

Какая компания является «большой» и почему там не взлетит Samba4?

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

Да ты болен. .. Голимый command-line.. sendmail

Нет, болен ты. И прогноз неутешительный ))

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

А оно есть.

Бывает.

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