Linux настройка linux dc

Обновлено: 03.07.2024

Покажу как настроить Линукс после установки. Первым делом отключим запись даты последнего доступа к файлам (noatime, особенно актуально для продления жизни SSD дисков) и примонтируем отдельный большой жёсткий диск к папке /a/, таким образом у нас всегда в начале списка в любом открытом окне будет быстрый доступ к нашим файлам, о том как это делается разъяснено в статье как примонтировать диск в Linux. Этот шаг сэкономит много времени, чтоб каждый раз не ползать в глубь /media/$USER/disc/..

Если установлен RAID массив - ставим скрипт управления RAID массивами md и уходим на перезагрузку, там же можно будет примонтировать к папке..

Ниже, до заголовка "Настроим скорость загрузки Linux" всё есть в автоустановщике setup.sh. Есть одно изменение - блокировка панели ушла в прошлое, теперь по правой клавише есть пункт Изменить панель.

Включаем межсетевой экран (фаерволл)

Если ставили программы скриптом - он уже включил.

Или Пуск → Приложения → Настройка → Firewall Configuration → Жмём напротив надписи статус.

Ниже, под каждым блоком это всё будет в виде консольных команд показано.

Настроим панель задач

В правом нижнем углу будет значок меню на панели . Если нет правой клавишей → "Разблокировать виджеты". По окончанию настроек нажмём "Заблокировать виджеты", чтоб случайно чего не натворить.. Если нажать правой мыши, то можно добавить виджеты на панель (двойной клик для установки).. Если нажать на неё левой кнопкой мыши всплывёт сверху панель и можно будет таскать значки с места на место..

Настройка виджетов Linux KDE

Давайте нажмём левой клавишей мыши . Слева подсветится прямоугольник рядом с пуском (Переключение рабочих столов), нажмём правой клавишей → Настроить рабочие столы.

Настройка рабочих столов KDE

Количество рабочих столов: 4
Количество рядов: 2
(На закладке "Переключение" можно выбрать анимацию)
Применить. OK.

Правой клавишей правее на панели задач → Настроить виджет «Панель задач»

Сортировка: Вручную
Группировать: Не группировать
Ставим галочки:
Показывать задачи только с текущего экрана
Показывать задачи только с текущего рабочего стола
Применить. OK.

Теперь у нас целых 4 рабочих стола, на которых можно разместить разные папки и программы, у меня например на 1-ом столе трудовые будни кипят, на 2-ом столе проигрыватель музыки, 3-й под разное, на 4-ом обычно папки с кином..

Щёлкаем правой клавишей на динамике в трее → Настроить виджет «Громкость»
Шаг изменения громкости: 1% (при скролле над иконкой в трее)
Снять галочку: Звуковой отклик при изменении громкости
→ Громкость → жмём на динамик с крестиком (Mute audio) справа от Notifications Sound

Щёлкаем правой клавишей справа на треугольничек (пирамидку в трее) → Настроить виджет «Системный лоток» → Элементы

Здесь я обычно прячу (Всегда скрывать в выподалке): Буфер обмена, Зашифрованные папки, Обновления, Сети.. Остаётся переключение языка и динамик громкости..

Нажимаю правой на часы → Настроить виджет «Цифровые часы»

Ставлю галку: Показывать дату
Формат даты: Формат ISO
→ Календарь
Ставлю галку: Holidays
Слева появится вкладка
→ Holidays → В поиске наберём ru, поставим галку.

Теперь у нас при нажатии на часы будет отмечаться в календарях праздники.. Эта фишка есть только в KDE! И дата под часами. (Заработает после перезагрузки)

Далее в меню программ накидываю значки → правой кнопкой мыши → Добавить виджет запуска на панель.
Внимание! Этой опции нет, если заблокирована панель задач (заблокированы виджеты).
Так же можно перетащить из проводника папку, чтоб иметь горячую точку входа на Панели задач..
KDE хранит ярлыки запуска здесь:

/.local/share/plasma_icons/. Это обычные .desktop файлы.. Но вот новшества подъехали с 20.04 Focal: директории может не быть; мало просто добавить ярлычки, обязательно в файл настройки дописать о значках; расставить по позициям; кэш сбросить. Руками накидать как-то быстрее, покажу для общего развития как это делается, может кому пригодится.

У меня это отдельный скрипт делает, примеры:

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

И заключительный шаг , нажимаю левой мыши в правойм углу на меню и перетаскиваю виджеты так как я привык. И затем там же Заблокировать виджеты ..

Итоговый вид панели задач

Пусть это сделает скрипт при установке.

Настроим остальные параметры среды KDE

Пуск → Компьютер → Параметры системы

Слева нажимаем по очереди:

→ Оформление рабочей среды → Тема рабочего стола: Breeze, тёмный вариант

→ Оформление приложений
→ Стиль интерфейса → Стиль графических элементов: Oxygen
→ Стиль программ GNOME (GTK+) → Тема значков: Oxygen

→ Запуск и завершение → Управление сеансами → Снимаем галочку: Запрашивать подтверждение при выходе

→ Поиск → Поиск файлов → Снимаем галочку: Включить службу поиска файлов (это источник тормозов в KDE)

→ Учётная запись → Бумажник → Снимаем галочку: Использовать бумажник KDE

→ Уведомления → Прочие уведомления
Снимаем галку: Аварийное завершение приложений
Переключаем внизу на: Только значки системного лотка.

→ Экран → Обеспечение эффектов → Предотвращение разрывов (Vsync): Повторное использование

→ Управление питанием Энергосбережение монитора: 30 мин
При нажатии кнопки питания: Выключить питание
(У меня в KDE бывал глюк - при выходе из хранителя экрана всё подвисало, в настройках с хранителя экрана снимите галочку или отключите энергосбережение, хранителя может не быть..)

→ Внешние носители → Ставим галку: Включить автоматическое монтирование внешних носителей информации. (Если не монтировали диск по инструкции сверху, то можно здесь указать какой монтировать при входе..)

Пусть скрипт это сделает за нас.
Конфигурационные файлы в KDE5 хранятся в

/.config. Для управление конфигурацией KDE используем утилиту kwriteconfig5. И уйдём на перезагрузку для применения изменений..

Чтоб переключились значки KDE и применились изменения стилей окна

Период обновления

В текущей версии 20.04 зачем-то частота обновлений зашкаливающая:
Система → Пакетный менеджер Muon.
Настройка → Настроить источники программ.
Вкладка Updates → меняем на раз в неделю например..

Cannot refresh cache offline

Ещё одна проблема: появляется Центр программ Discover во время загрузки, с надписью: Не удалось получить список приложений. Проверьте связь с интернетом. И всплывающей подсказкой: cannot refresh cache offline.

Настроим скорость загрузки Linux

Этот пункт не обязателен, KDE в плане загрузки не чемпион и порой изменения не помогают, всё равно тупит, а то и багануть может..
Давайте выясним, что у нас со скоростью загрузки системы, её главными тормозами могут быть службы:

  • NetworkManager (не стоит отключать если используете wifi, иначе придётся руками настраивать в консоли).
  • Служба обновления (лучше руками, когда будет желание, залезть и обновиться).
  • Сетевая служба синхронизации времени.

Рассмотрим на примере Kubuntu 17.10 (Artful Aardvark):

Startup finished in 3.005s (kernel) + 33.087s (userspace) = 36.092s

13.875s NetworkManager-wait-online.service - сервис ожидает поднятия сети и возможных входящх управляющих команд.. В некоторых многопользовательских средах часть процесса загрузки может поступать из сети.
10.540s apt-daily.service - сервис обновления, запускает скачивание новых пакетов..
6.688s apt-daily-upgrade.service - сервис обновления, запускает установку новых пакетов и очистку кэша..
2.008s postfix@-.service - почтовый сервис
Остальные меньше секунды..

Остаётся иногда запускать Центр программ Discover и обновляться вручную.. (в трее за пирамидкой есть значок Обновления)

Startup finished in 2.955s (kernel) + 2.407s (userspace) = 5.363s
userspace: 33.087s - 2.407s = 30.68s

Всем доброго времени суток. В данном хабра топике хочу рассказать о работе в сетях DC под ос Linux. Сам я пишу из под Linux Mint 7, но на Ubuntu 9.04 всё идентично!
Итак, я обладатель доволь но медленного канала в Интернет. Всего, как заявлено в тарифе, 250 кбит(31.25кбайт). На деле обычно 26-28. И если мне что-то требуется то, ищу это сначала в сети DC. Благо у меня есть пиринг по городу Красноярску, так что проблем с поиском не бывает.

Когда я был в винде, меня всё устраивало пользовался StrongDC++ 2.21. Всё замечательно… И вот, теперь я в линуксе. История моего пути это отдельная статья…
Ну и естественно, первое что было мною сделано это поиск альтернативных программ и способов запуска под вайном. Нашлась программка valknut. Ну попробовал. Ну работает. Не понравилась. ИМХО.

30кбайт. Хотя до этого он отлично качал с более чем 200 юзеров ). Закрыв соединение, он тут же подхватил кого-то со скоростью 2 мегабайта в секунду. Я конечно думал, что в конце блоки качаются на маленькой скорости, но не до такой же степени, в Strong DC++ такого не было вообще. Это была последняя капля…

Linux DC++

И я решился попробовать Linux DC++ более свежий. Прошло довольно много времени, примерно год. Может они и исправили этот баг, что при запуске он у меня просто вылетал.
Итак, sudo aptitude install linuxdcpp. И мы стартуем… На удивление он запустился! Это знак! Я быстренько добавил в шару фильмов на 5 гигов, чтобы потестить. Хочу предупердить, что добавлять в шару стоит по маленьку, ибо если вы сразу дадите задание на 100 ГБ, у вас и комп и Linux DC++ уйдет в даун. Нужно добавлять по одной, максимум две папки. Чтобы можно было дождаться того момента когда он закончить хеширование, выключить клиент, и запустить его снова, иначе при экстренном выходе вам придется проходить процедуру хеширования заново. Ну вот, и мы вошли на хабы. В этот раз я стал умней, и в настрйоках устновил место скачивания на ext3 раздел. выбрал файл, багов замечано не было, единственно, после нажатия на кнопку поиск окно зависает(темнеет), и я жду когда он закончит поиск. Выбрал тестовый файл на закачку. И жду. Как оказалось, данная версия построена на стабильном ядре, которое не поддерживает многопоточность. Но есть 0.707 которое поддерживает многопоточность, то что нам и нужно. Вот мануал по которому я узнал где взять исходники версии с многопоточностью, и краткое руководство к действию. Собрав все остатки печенья со стола, я приготовился компилить.) Благо опыт не малый… Но не хотелось мне собирать пакет, потом его ставить. Я решил сделать по другому, не засаряя систему. Сейчас вам всё расскажу. итак,

Берем исходники

razzloss/linuxdcpp/0705-core

Замечательно, теперь у нас есть исходники свежего linuxdcpp. Что же мы с ними можем сделать? Скомпилить!

Подготовка системы к сборке свежего Linux DC++

Как написано в мануале, дальше удовлетворяем все зависимости. Вот строчка из моего Readme.txt, у вас может незначительно отличаться изза новой версии:
Dependencies:
-------------
scons >= 0.96
pkg-config
g++ >= 3.4
gtk+-2.0 >= 2.6
gthread-2.0 >= 2.4
libglade-2.0 >= 2.4
pthread
zlib
libbz2
libssl
Итак, если у вас ubuntu 9.04 то проблем со старыми пакетами у вас быть не должно. У вас просто может не быть некоторых необходимых вещей. У меня указаласась отсутствующей плюсовая библя boost. Ну не вопрос.
Вот что я выоплнил:
sudo aptitude install binutils scons pkg-config g++ libboost1.35-dev libglade2-0 libglade2-dev libpthread-stubs0 libpthread-stubs0-dev libbz2 libbz2-dev libssl libssl-dev

Данная команда установила то что у меня отсутствовало в списке, и то что старое, обновила(мне не удалось найти 2 пакета g++ >= 3.4, gtk+-2.0 >= 2.6, ткните пальцем, я добавлю).
Теперь всё готово к сборке. Из того же ридми я вычитал как нужно правильно собирать этого заеря.

Компиляция.

Compiling:
----------
$ cd /path/to/linuxdcpp
$ scons PREFIX=/path/to/install

Теперь самое интерестное. Так как я не хочу возится, мы поступим довольно умно, оставим старую версию,.

sudo mkdir /opt/linuxdcpp
sudo chown -R вашюзер:вашагруппа /opt/linuxdcpp

Ниже узнаете зачем. :)

cd /path/to/linuxdcpp
scons PREFIX=/opt/linuxdcpp
Можно сходить выпить чайку. Только не долго, ибо самое интерестное еще впереди…
Если всё удачно собралось, Поздравляю. Если нет, удовлетворяйте зависимоти и читайте что говорит error log.

Установка

Осталось установить. Устновка еще проще чем компиляция:
scons install


А теперь настает момент, для чего собственно мы делали отдельную папку, я не удалял старый Linux DC++ потому что я очень ленив, что бы собрать пакет и установливать его. Вот и выбрал легкий путь, ибо всё это уже предусмотрено спосбом сборки linuxdcpp. Заходим в настройки главного меню гнома(если у вас кеды, настравивайте сами) и ищем та DC++, и в параметрах запуска меняем только путь из «linuxdcpp» в "/opt/linuxdcpp/bin/linuxdcpp"(юез кавычек).
Пора запускать наш только что скомпиленный клиент с поддержкой многопоточности.
Конечно, как в любой программе и здесь есть свои нюансы, которые были замечены мною. При выборе файла для закачки, клиент стартует закачку сначала с одного пользователя, но потом, если успеет конечно), подключается к другим пользователям, что дает нам существенный выйгруш в скорости. Есть еще один вариант, но я не понял его логики. На выбранном файле жмем «Search by TTH», и из этого списка, как я понял, можно добавлять пользователей с которых будет идти скачка(если не прав поправьте), при нажатии на «Match Queue».
Вот и всё. Надеюсь вам понравилась данная статья, и помогла избежать использования вайна, Когда есть такой классный клиент.
ЗЫ. Не стал пробовать StrongDC под вайном потому что меня полностью устроил Linux DC++.

Почему статья о настройке bind9 для Linux AD-DC на Ubuntu 18.04

А не например не Ubuntu 20? Сразу же стоит отметить что под Ubuntu 18.04 или Ubuntu 20.04 тут подразумевается в первую очередь Ubuntu Server 18.04 и Ubuntu Server 20.04. Но нужно понимать что настройка Linux AD-DC что для Ubuntu 18.04 Desktop что для Ubuntu Server 18.04 будет абсолютно идентичная по набору команд и устанавливаемых пакетов. Просто я не делаю больших различий между Ubuntu Server и ubuntu Desktop и для серверной нагрузки за исключением сервера терминалов я использую Ubuntu Server, банально с целью экономии ресурсов потребляемых виртуальными машинами.

Текущее состояние Ubuntu 20.04

Дак вот, в статье говорится про настройку Linux AD-DC для Ubuntu 18.04 потому что совсем недавно, в июне-июле 2020 года, Samba выпустили новую версию, которая пожалуй является переломной в плане технологий используемых для обновления DNS записей в локальной зоне контроллера домена. Если раньше и в данной статье для этих целей использовалась утилита nsupdate. Начиная с недавнего времени Samba начала использовать для этого утилиту samba-tool. Поэтому инструкции разработанные для Ubuntu 18.04, основывающиеся на установке самых последних версий пакетов из репозиториев Ubuntu 18.04, не подходят для Ubuntu 20.04 ввиду разных подходов в работе с DNS зоной.

Так же в репозиториях Ubuntu 20.04 находится bind9 версии 9.16.x. В свою очередь на момент написания статьи, самый последний dlz модуль доступный при установке Samba4 совместим с bind 9.12.x. И если с версией bind9 9.14.x этот модуль DLZ ещё работал без ошибок, то с версией 9.16.x и утилитой samba-tool, syslog сервера начинает пестрить ошибками, ссылающимися именно на код DLZ модуля. Взвесив все за и против я решил отложить адаптацию инструкций по настройке Linux AD-DC для Ubuntu 20 и сосредоточиться на обновлении и актуализации этих же инструкций для Ubuntu 18.04. Я слабо верю что обновления пакетов доставляемые в эти дни в Ubuntu 20.04 могут добраться и до репозиториев Ubuntu 18.04. А спустя пол года-год, когда все обновления по большей части устаканятся, можно будет адаптировать данную инструкцию и для Ubuntu 20.

Установка Ubuntu Server 18.04
Полезные команды после установки

Задаём имя сервера

Задаём статический IP

Версии ключевых пакетов использованных в статье

С недавних пор версии пакетов стали фатально важными при воспроизведении инструкции потому вот:

  1. Samba4: Version 4.7.6-Ubuntu
  2. bind9 (named): BIND 9.11.3-1ubuntu1.13-Ubuntu (Extended Support Version) <id:a375815>

Примечательно, что начинается установка домена с установки DNS сервера, пакета, распространяемого отдельно от samba4 . Можно и потом , но таки в этом случае придётся делать дополнительные телодвижения . Дабы этого избежать сперва надо установить bind и провести его частичную настройку . Установим , создадим зоны , проведём первичную конфигурацию

Ставим BIND9_DLZ

Прежде всего проверяем версию bind

На момент написания, в репозитории Ubuntu 18.04 была версия 9.11.3

Смотрим где bind держит named.conf

В результате увидим что-то типа этого:

Узнаём директорию bind9

Узнаём директорию bind9

Смотрим где днс сервер держит кеш

В результате видим что-то типа этого:

Проверяем named.conf

В результате видим:

Содержимое named.conf

Правим named.conf.options

В первую очередь делаем бэкап и правим файл

Удаляем его содержимое и заменяем следующим:

Правим named.conf.default-zones

Удаляем его содержимое и заменяем следующим:

В данный момент весь текстовый контент на неделю раньше публикуется в моём Zen блоге . Там же проходят русскоязычные премьеры видеоуроков 🙂

Так же видео публикуются на Youtube канале, но там проходят сперва англоязычные премьеры 🙂

Настройка Samba4 для Linux AD-DC на Ubuntu 18.04 – наша текущая цель. В предыдущей статье мы подготовили почву для того чтобы теперь инициализировать домен. Успешно инициализированный домен позволит нам продвинуться к следующей статье и донастроить bind9.

Версии ключевых пакетов

Помним что с недавних пор версии пакетов стали критически важным элементом. Несмотря на это, в репозитории Ubuntu 18, обновления выкатываемые сейчас в репозитории Ubuntu 20, добраться не должны.

  • Samba4: Version 4.7.6-Ubuntu
  • bind9 (named): BIND 9.11.3-1ubuntu1.13-Ubuntu (Extended Support Version) <id:a375815>

ВНИМАНИЕ. НЕ ИСПОЛЬЗУЙТЕ ЗОНУ .local . ЕСЛИ ВЫ НАЗОВЁТЕ СВОЙ ДОМЕН somedom.local ВЫ МОЖЕТЕ СТОЛКНУТЬСЯ С НЕОБРАТИМЫМИ ПРОБЛЕМАМИ

Настройка Samba4 для Linux AD-DC на Ubuntu 18.04 – Часть 1

1. Отключаем systemd-resolved

1.1 Останавливаем сервис

1.2 Убираем из автозапуска

1.3 Удаляем симлинк /etc/resolv.conf

1.4 Открываем и изменяем конфиг

1.5 Настраиваем адрес сервера имён как на картинке.

Сейчас, nameserver должен быть настроен на адрес нашего текущего DNS сервера, который расположен например на роутере или ещё где
В search указывается имя нашего будущего домена
Сохраняем изменения Ctrl+O

2. Настраиваем файл /etc/hosts

Обязательно чтобы AD DC мог резолвиться по имени на свой IP адрес внутри настраиваемой сети, даже при пинге с самого AD DC
Открываем файл и вносим изменения

127.0.0.1 localhost.localdomain localhost
192.168.1.100 ag-dc-1.adminguide.lan ag-dc-1

Сохраняем изменения с помощью Ctrl+O и закрываем файл с помощью Ctrl+X

3. Проверяем что в системе не работают самобые процессы

4. Linux AD-DC на Ubuntu 18.04 – Инсталлируем Samba

Очень важно помнить, что контроллер домена на самбе, инициализируется раз и навсегда. Возможность изменить его название в будущем – отсутствует в принципе. Как-то назвав его однажды, с таким именем он и будет существовать до скончания веков или пока вы его не убьёте. Назвав домен ADMINGUIDE.LAN, он на всегда останется с этим именем ADMINGUIDE.LAN . Samba4 не поддерживает переименовывание домена. После его инициализации, для изменения названия, вы должны будете исключить из домена все машины которые успели в него ввести, удалить AD DC, с нуля всё настроить и ввести машины уже в него. Так что я настоятельно рекомендую продумать каждый шаг прежде чем начинать инициализировать домен, прочитать данную инструкцию до самого конца, продумать ньюансы, чтобы избежать ошибок в будущем.

4.1 Устанавливаем samba4 и все нужные пакеты с помощью следующей строки:

sudo apt -y install samba krb5-config winbind smbclient krb5-user apparmor-utils

Чтобы инициализация Linux AD-DC на Ubuntu 18.04 прошла успешно, важно не ошибиться ни одним символом при вводе данных на экранах конфигурации kerberos

4.2 Дефолтная область для Керберос 5

На данном экране у нас должно автоматически подставиться название нашего домена большими буквами: ADMINGUIDE.LAN

4.3 Сервер Kerberos для вашей области

Тут мы должны ввести имя_контроллера_домена.риалм.зону всё в нижнем регистре, в данном случае это:

4.4 Управляющий сервер вашей области Kerberos

На этом этапе мы вводим тоже самое что и в предыдущем:

4.5 Ожидаем окончания установки

Если всё прошло без ошибок, вероятно вы на верном пути. Главное быть уверенными что при настройках Kerberos вы не опечатывались и указали то что требовалось

4.6 Бэкапим файл с исходными настройками Samba

В данном случае файл не просто бекапится, мы используем команду mv то есть исходный файл smb.conf будет перемещён и превратится в файл smb.conf.bkp . Потому что если на следующем этапе, самба найдет файл smb.conf, она вылетит с ошибкой. Я ещё никогда в жизни не прибегал к файлу smb.conf.bkp , так что по сути мы могли бы его просто удалить

5. Linux AD-DC на Ubuntu 18.04 – Инициализируем контроллер домена

5.1 Запускаем инициализацию с опцией –interactive

Из своего AD DC, мы будем рулить юзерами и группами компьютеров с линуксовыми операционками. Потому заразаранее активируем совместимость с NIS, используя команду --use-rfc2307

sudo samba-tool domain provision --use-rfc2307 --interactive

Включение поддержки Network Information Service (NIS), никак не повредит работе AD DC, несмотря даже на ситуацию в которой он никогда столкнётся с Linux серверами или компьютерами. В тоже время, если настроить контроллер без этой опции, и когда-нибудь в него будут введены машины с линуксом, придётся модифицировать схему AD и добавлять поддержку NIS. Делать это конечно же придётся с большим риском убить контроллер.

5.2 Linux AD-DC на Ubuntu 18.04 – Указываем параметры домена

Если в процессе настройки не было допущено ошибок, те параметры которые вам нужно настраивать, кроме DNS backend, инсталлятор поместит в квадратные скобки как дефолтные значения. BIND9_DLZ нужно вписать рученьками или скопировать текст из предложенных вариантов!

Вам останется только указать что DNS backend это BIND9_DLZ

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

5.3 Linux AD-DC на Ubuntu 18.04 – Проверяем последствия инициализации

Если мы увидим информацию аналогичную приведённой ниже – это значит что контроллер домена на Ubuntu успешно завершил инициализацию:
В конце видим где самба держит конфиг named и конфиг krb5

6. Переходим к разделу “Контроллер домена Ubuntu – Конфигурация BIND9 – Часть 2”

На этом этапе можно считать что настройка Samba4 для Linux AD-DC на Ubuntu 18.04, точнее первая её часть, завершены успешно.

Не стесняйтесь писать комментарии, пожелания и делиться ссылками на блог в соц сетях. Любая пользовательская активность в блоге - положительно сказывается на его метриках и помогает создавать полезный контент :)

Выполнение Назначения требует наличия привилегий суперпользователя (в Astra Linux Special Edition - суперпользователя с высоким уровнем целостности) для создания конфигурационных файлов и установки прав доступа. После выполнения Назначения служба smbd перестанет работать, а службы winbind,nmbd, krb5-kdc перейдут под управление доменной службы samba-ad-dc. Однако, после установки всех необходимых пакетов все эти службы будут автоматически запущены, и перед выполнением Назначения их нужно будет остановить и заблокировать их автоматический запуск. Приведённые далее сценарии Назначения содержат соответствующие команды.

Samba, начиная с версии 4.0, может работать как контроллер домена (domain controller, DC) Active Directory (AD).

При применении Samba в качестве DC AD в условиях реальной эксплуатации
рекомендуется использовать два или более DC для обеспечения отказоустойчивости.

Эта статья рассказывает, как настроить Samba как первый DC в домене, чтобы построить новый лес AD.
Дополнительно, эту статью можно использовать для миграции из домена Samba NT4 в домен Samba AD.

Если требуется подключить Samba к уже существующему доменному лесу AD, как дополнительный DC

  • Для быстрого подключения с помощью графического инструмента fly-admin-ad-server см. Samba: инструменты Astra Linux для быстрой настройки
  • Подробные инструкции см. Присоединение Samba DC к существующему домену Active Directory.

Samba при использовании в роли AD DC поддерживает:

  • Интегрированый сервер LDAP как база данных AD. Подробности см. Поддерживают ли Samba AD DC работу с OpenLDAP или другими службами LDAP;
  • Авторизацию через службу Kerberos Key Distribution Center (KDC). Поддерживаются варианты MIT KDC и Heimdal KDC;
    Поставляемая в составе Astra Linux Samba использует MIT KDC, также поставляемый в составе этих ОС;
  • Работу с встроенным сервером DNS;
  • Работу с внешним сервером DNS (в примерах ниже рассматривается работа с сервером DNS BIND9).

Подготовка к инсталляции

  • Выберите имя хоста для вашего AD DC. Не рекомендуется использовать в качестве имен хостов такие идентификаторы, как PDC или BDC, унаследованные от NT4 . Эти сущности отсутствуют в AD, и такие названия вызывают путаницу;

Выберите DNS-имя для вашего доменного леса AD. Это имя также будет использовано как имя области (realm) Kerberos AD ;

Для создания домена AD используйте DNS-имя, которое не понадобится изменять. Samba не поддерживает переименование зон DNS AD и областей Kerberos.

Отключите инструменты (например, resolvconf), которые автоматически обновляют файл настроек DNS /etc/resolv.conf.
AD DC и члены домена обязаны использовать сервер DNS, способный разрешать зоны DNS AD . Если в сети нет других серверов DNS, то файл /etc/resolv.conf должен указывать адрес самого сервера:

Убедитесь, что файл /etc/hosts на DC корректно разрешает полное доменное имя (fully-qualified domain name, FQDN) и короткое имя хоста DC во внешний сетевой IP-адрес DC. Например:

Имя хоста не должно разрешаться в IP-адрес 127.0.0.1 или в любой другой IP-адрес, кроме используемого на внешнем сетевом интерфейсе DC.
Для проверки правильности настроек можно использовать команду:

Если Samba уже была установлена (настроена)

Если Samba уже была установлена (настроена):

  • Проверьте, что все процессы Samba остановлены:
    • Если вывод команды показывает наличие любого из процессов samba, smbd, nmbd, или winbindd, то остановите эти процессы и запретите их автоматический запуск:
    sudo systemctl stop smbd nmbd winbind krb5-kdc
    sudo systemctl mask smbd nmbd winbind krb5-kdc
    • Пакет (apt install winbind) называется winbind с одним 'd';
    • Процесс (ps fax | grep winbindd) называется winbindd с двумя 'dd';
    • Сервис (sytemsctl status winbind) называется winbind с одним 'd';
    • Удалите все существующие файлы конфигурации Samba smb.conf file. Чтобы получить список путей к этим файлам:
      • Удалите все файлы баз данных Samba (*.tdb и *.ldb). Чтобы получить список путей к этим файлам:
      sudo smbd -b | egrep "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR"

      LOCKDIR: /usr/local/samba/var/lock/
      STATEDIR: /usr/local/samba/var/locks/
      CACHEDIR: /usr/local/samba/var/cache/
      PRIVATE_DIR: /usr/local/samba/private/

      Только полная очистка настроек поможет предотвратить ошибки, и гарантирует, что никакие файлы из предыдущей настроки Samba не попадут в новые настройки DC.
      • Если существует файл настроек Kerberos /etc/krb5.conf file, также удалите его:

      Пакет samba входит в дистрибутивы Astra Linux, и может быть установлен с помощью графического менеджера пакетов,
      или из командной строки командой

      После установки пакета samba сервис smbd будет запущен автоматически с настройками "по умолчанию".

      Отдельно установленный пакет samba может быть использован как файловый сервер или сервер печати. Для использования samba в качестве домена AD нужно установить пакет samba и дополнительные пакеты:

      sudo apt install samba winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user krb5-kdc bind9

      Обратите внимание - указанная команда устанавливает также и пакет bind9 - сервер DNS.

      Подготовительные команды

      Перед Назначением останавливаем далее ненужные службы, запрещаем их запуск, и удаляем установленную по умолчанию конфигурацию Samba:

      sudo systemctl stop winbind smbd nmbd krb5-kdc
      sudo systemctl mask winbind smbd nmbd krb5-kdc
      sudo rm /etc/samba/smb.conf

      Назначение

      Назначение выполняется с помощью команды samba-tool domain provision. Эта команда поддерживает возможность выполнения настроек в интерактивном или автоматическом режимах. Подробности см.:

      samba-tool domain provision --help

      При создании нового домена AD рекомендуется сразу включить так называемые расширения NIS (NIS extensions), передав инструменту samba-tool domain provision параметр --use-rfc2307.
      Это позволит хранить в AD специфические атрибуты Unix:

      • Числовые идентификаторы пользователей (UID);
      • Пути у домашним каталогам;
      • Идентификаторы групп.

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

      Подробности см. в:

      Описание возможных параметров Назначения

      При Назначении будут применяться следующие параметры:

      Выбирает службу DNS.

      Первый DC в домене AD обязательно должен быть настроен на использование какой-либо службы DNS .

      Варианты служб NONE и BIND9_FLATFILE более не поддерживается.

      Устанавливает пароль администратора домена.

      Если заданный пароль не будет соответствовать требованиям по сложности пароля, Назначение не будет выполнено.

      Другие параметры, часто используемые в команде samba-tool domain provision:

      --option="interfaces=lo eth0" --option="bind interfaces only=yes": Если сервер имеет несколько сетевых интерфейсов, используйте эти параметры для привязки Samba к нужным интерфейсам. Это позволить команде samba-tool зарегистрировать корректный сетевой адрес при настройке.

      • Не используйте NONE как службу DNS, эта возможность больше не поддерживается;
      • При использовании в качестве службы DNS службы BiIND, не используйте вариант BIND9_FLATFILE, эта возможность больше не поддерживается;
      • После назначения первого DC в домене AD не настраивайте больше таким способом никакие другие DC в этом домене, используйте процедуру присоединение (Join) для настройки остальных DC.

      Назначение Samba в интерактивном режиме

      Для выполнения Назначения в интерактивном режиме выполнить команду:

      sudo samba-tool domain provision --use-rfc2307 --interactive

      В процессе Назначения должен произойти примерно такой диалог:

      Интерактивный режим настройки поддерживает различные параметры команды samba-tool domain provision, что позволяет задавать настройки, не содержащиеся в интерактивном диалоге.

      Назначение Samba в автоматическом режиме

      Для примера назначения Samba в автоматическом режиме используем следующие параметры:

      Для указанных параметров команда назначения будет выглядеть так:

      Завершающие команды

      После успешного выполнения команды Назначения:

      Подробно команды для проверки результатов настройки контроллера домена описаны в статье Присоединение Samba к существующему домену AD. Разница только в том, что домена AD сейчас нет, сервер только один, соответственно, опрашивать нужно только один сервер, и в ответах будет только один сервер.

      С помощью команды samba-tool dns zonecreate м ожно добавить необязательную зону реверсивного поиска:

      Если требуется использовать несколько реверсивных зон, просто выполните команду несколько раз с указанием параметров соответствующих подсетей.
      Изменение реверсивных зон не требует перезапуска сервисов Samba или BIND.

      Настройка синхронизации времени

      Для нормальной рабботы службы Kerberos требуется синхронизация времени всех участников домена. Подробности см. в Настройка NTP или в Синхронизация времени.

      Участники домена AD используют DNS для поиска сервисов, например, таких, как LDAP и Kerberos. Для этого они должны использовать сервер DNS, способный разрешать зоны DNS AD.

      Если в системе используется сервер DHCP, то в его настройках можно указать имя домена, которое будет передаваться всем хостам при запросе адреса Подробнее см. DHCP

      Помимо использования DHCP, настройку на нужный сервер можно выполнить непосредствнно на хостах - участниках домена в файле /etc/resolv.conf.
      Для этого укажите в файле:

      • имя домена DNS AD как имя домена для поиска (search),
      • IP-адрес вашего DC как значение параметра nameserver.

      Разрешение имён для клиентских машин

      После выполнения указанных выше настроек DNS сервер не может получать и, соответственно, выдавать информацию об именах и IP-адресах клиентских машин.

      Если в домене используются клиентские машины, получающие динамические IP-адреса от сервера DHCP, сервер DNS может быть настроен на автоматическое получение информации о выданных адресах. Примерный порядок настройки см. в статье Динамическое обновление DNS клиентских машин FreeIPA;

      Если в домене используются клиентские машины, которым присваиваются статические адреса, то:

      1. Можно использовать для присвоения этих статических адресов сервер DHCP с динамическим обновлением адресов;
      2. Можно вручную задавать соответствие имени и адреса для каждого такого клиента. См. Администрирование DNS.

      Kerberos

      При работе в домене AD, Kerberos используется для аутентификации пользователей, хостов, и сервисов.

      Процедуры установки и настройки клиентов Kerberos см. Kerberos

      Во время процедуры назначения Samba автоматическм создает конфигурационный файл /var/lib/samba/private/krb5.conf для клиентов Kerberos, настроенный на создаваемый DC.

      Это файл должен быть скопирован в рабочую конфигурацию Kerberos на всех хостах, входящих в домен.

      В автоматически создаваемом файле конфигурации Kerberos для поиска доменного контроллера Kerberos (KDC) используются сервисные записи (SRV). Для того, чтобы такая конфигурация работала корректно, в домене должна быть правильно настроена и работать служба, в том числе созданы файлы зон, в которых размещены соответствующие сервисные записи (см. статью DNS-сервер BIND9).

      Во время назначения автоматически создаются разделяемые ресурсы netlogon и sysvol, и они обязательно должны существовать в DC. Чтобы увидеть все разделяемые файловые ресурсы, предоставляемые DC:

      smbclient -L localhost -U%

      Domain=[SAMDOM] OS=[Unix] Server=[Samba x.y.z]

      Sharename Type Comment
      --------- ---- -------
      netlogon Disk
      sysvol Disk
      IPC$ IPC IPC Service (Samba x.y.z)
      Domain=[SAMDOM] OS=[Unix] Server=[Samba x.y.z]

      Для проверки работы аутентификации, подключитесь к ресурсу netlogon с использованием учётной записи администратора домена:

      Enter Administrator's password:
      Domain=[SAMDOM] OS=[Unix] Server=[Samba x.y.z]
      . D 0 Tue Nov 1 08:40:00 2016
      .. D 0 Tue Nov 1 08:40:00 2016

      49386 blocks of size 524288. 42093 blocks available

      Если тесты не выполняются, см. Поиск и устранение проблем

      Для управления Samba AD DC в состав пакета Samba входит инструмент командной строки samba-tool.

      Основные команды иструмента:

      Подробная информация об инструменте доступна в справочнике man:

      Краткую справку по работе инструмента можно получить командой

      Инструмент wbinfo

      При установке пакета samba автоматически устанавливается служба winbindd.

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

      КомандаОписание
      wbinfo -uВывести список пользователей
      wbinfo -g Вывести список групп
      wbinfo -i имя_пользователя Вывести подробную информацию о пользователе
      wbinfo -?
      wbinfo --help
      Вывести справку по командам

      По умолчанию, пользователи домена AD не могут выполнять вход в Linux-системы.
      Для обеспечения входа в Linux-системы с учетными записями Active Directory необходимо внести следующие изменения в настройки Samba AD DC в настройки пользовательских компьютеров.

      Настрока Samba AD DC

      В конфигурационном файле Samba /etc/samba/smb.conf необходимо добавить настройки службы winbind и разрешение авторизоваться через эту службу (добавленные строки выделены жирным шрифтом):

      template shell = /bin/bash
      winbind use default domain = true
      winbind offline logon = false
      winbind nss info = rfc2307

      winbind enum users = yes
      winbind enum groups = yes

      После внесения изменений проверить правильность конфигурации командой

      И перезапустить службы samba.

      Настройка пользовательских компьютеров

      На пользовательском компьютере использовать команду:

      И убедиться, что включены все профили PAM.
      При необходимости - включить аутентификацию winbind, используя клавишу "пробел".
      По окончании нажать клавишу "Tab", перейти на "ОК", и записать изменения.

      В файле /etc/nsswitch.conf добавить слово winbind параметры password и group:

      passwd: compat winbind
      group: compat winbind
      shadow: compat

      hosts: files dns
      networks: files

      protocols: db files
      services: db files
      ethers: db files
      rpc: db files

      Чтобы пользователи AD после аутентификации могли менять свой пароль из командной строки
      в файле /etc/pam.d/common-password из строки password [success=1 default=ignore] pam_winbind.so use_authtok try_first_passfile убрать слово use_authtok statement:

      password [success=1 default=ignore] pam_winbind.so use_authtok try_first_pass

      Несмотря на то, что Samba в режиме AD DC может предоставлять услуги разделения файлов так же, как и в любом другом режиме применения, разработчкики Samba не рекомендуют использовать DC как файловый север по следующим причинам:

      • Для всех организаций, за исключением самых маленьких, наличие более, чем одного DC, является реально хорошим способом резервирования, повышающим безопасность обновлений;
      • Отсутствие сложных данных и влияния на другие сервисы позволяет обновлять DC совместно с ОС хоста каждые год или два;
      • Обновления могут выполняться путем установки новых версий, или внесения изменений, которые лучше проверены в Samba, что позволяет получить новые возможности, избежав множества рисков, связанных с повреждением данных;
      • Необходимость модернизации DC и файлового сервера наступает в разные моменты. Потребность в новых возможностях DC и файлового сервера возникает в разные моментв времени. В то время, как AD DC стремительно развивается, приобретая новые возможности, файловый сервер, после более 20 лет, гораздо более консервативен;
      • mandatory smb signing is enforced on the DC.

      Если вы изучаете возможность использовать Samba DC как файловый сервер, рассмотрите вместо этого возможность использовать на DC виртуальную машину VM, содержащую отдельного участника домена.

      Если вы вынуждены использовать Samba DC как файловый сервер, помните, что виртуальная файловая система (virtual file system, VFS) позволяет настраивать разделяемые ресурсы только со списками управления доступом access (control lists, ACL) Windows.
      Разделяемые ресурсы с ACL POSIX на Samba DC не поддерживаются, и не работают.

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

      Если у вас маленький домен (маленький офис, домашняя сеть), нет желания следовать рекомендациям разработчиков Samba, и DC используется как файловый сервер, настройте Winbindd до начала настройки раздеяемых ресурсов.
      Подробности см.: Configuring Winbindd on a Samba AD DC.

      Читайте также: