Блог о системном администрировании. статьи о linux, windows, схд netapp и виртуализации

Active Samba Contributors

The Samba community is much larger than just Samba Team members, and here we acknowledge the contributions from our whole community.

Samba Git
repository

  • GitLab analysis of recent contributors
  • OpenHub last 12 Month contributors to Samba
  • GitHub analysis of all-time contributions from people with GitHub accounts (only)

Mailing lists and beyond

We also explicitly acknowledge the many other ways to contribute to
Samba, including Systems Administration,
Release
Management and assisting users on
our Samba user
discussion list. While these roles are are much harder to
machine-summarise, they are also critical to the Samba community.

Настройка ротации логов SAMBA

О syslog и logrotate я писал в прошлых статьях. Этих знаний должно быть вполне достаточно, чтобы понять следующий конфиг:

root@debian:~# # оригинальный конфиг:
root@debian:~# vim /etc/logrotate.d/samba
/var/log/samba/log.smbd {
        weekly
        missingok
        rotate 7
        postrotate
                /etc/init.d/samba reload > /dev/null
        endscript
        compress
        notifempty
}

/var/log/samba/log.nmbd {
        weekly
        missingok
        rotate 7
        postrotate
                [ ! -f /var/run/samba/nmbd.pid ] || kill -HUP `cat /var/run/samba/nmbd.pid`
        endscript
        compress
        notifempty
}
root@debian:~# # переделанный для нескольких интерфейсов:
root@debian:~# vim /etc/logrotate.d/samba
## в целом, конфиг необходимо формировать по следующим правилам:
#/путь/к/логам/log.* {
## путь задается в том формате, который задан в параметре log file
#        weekly
#        missingok
#        rotate 7
#        postrotate
## пути к pid указываются в соответствии с параметром pid directory
#                [ ! -f /путь/к/pid/файлу_nmbd.pid ] || /bin/kill -HUP `cat /путь/к/pid/файлу_nmbd.pid`
#                [ ! -f /путь/к/pid/файлу_smbd.pid ] || /bin/kill -HUP `cat //путь/к/pid/файлу_smbd.pid`
## путь к pid'у демона winbind указывать необязательно, если он не используется
#                [ ! -f /путь/к/pid/файлу_winbindd.pid ] || /bin/kill -HUP `cat /путь/к/pid/файлу_winbindd.pid`
#        endscript
#        compress
#        notifempty
#}

/var/log/samba-files/log.* {
        weekly
        missingok
        rotate 7
        postrotate
                [ ! -f /var/run/samba-files/nmbd-smb-files.conf.pid ] || /bin/kill -HUP `cat /var/run/samba-files/nmbd-smb-files.conf.pid`
                [ ! -f /var/run/samba-files/smbd-smb-files.conf.pid ] || /bin/kill -HUP `cat /var/run/samba-files/smbd-smb-files.conf.pid`
                [ ! -f /var/run/samba-files/winbindd-smb-files.conf.pid ] || /bin/kill -HUP `cat /var/run/samba-files/winbindd-smb-files.conf.pid`
        endscript
        compress
        notifempty
}

/var/log/samba-server/log.* {
        weekly
        missingok
        rotate 7
        postrotate
                [ ! -f /var/run/samba-server/nmbd-smb-server.conf.pid ] || /bin/kill -HUP `cat /var/run/samba-server/nmbd-smb-server.conf.pid`
                [ ! -f /var/run/samba-server/smbd-smb-server.conf.pid ] || /bin/kill -HUP `cat /var/run/samba-server/smbd-smb-server.conf.pid`
                [ ! -f /var/run/samba-server/winbindd-smb-server.conf.pid ] || /bin/kill -HUP `cat /var/run/samba-server/winbindd-smb-server.conf.pid`
        endscript
        compress
        notifempty
}

Из данных конфигурационных файлов может возникнуть вопрос, почему pid’ы указаны в таком формате. Об этом я расскажу ниже. В остальном, думаю, что понятно, что пути к каталогу логов и pid’ов необходимо поменять на те, которые были созданы на прошлом шаге, а точнее на те, которые вы укажите в соответствующем конфиге smb.conf для заданного экземпляра samba.

Настройка Samba с интеграцией в AD через sssd

Устанавливаем сам файловый сервер самба.

# yum install samba

Рисуем ему примерно такой конфиг.

# cat /etc/samba/smb.conf
workgroup = XS
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
log level =3
max log size = 500
security = ads
encrypt passwords = yes
passdb backend = tdbsam
realm = XS.LOCAL
load printers = no
cups options = raw
printcap name = /dev/null


comment = My shared folder
path = /mnt/shara
public = no
writable = yes
guest ok = no
valid users = @"gr_it@xs.local"

Запускаем службу smb.service и добавляем в автозагрузку.

# systemctl start smb.service
# systemctl enable smb.service

Теперь идем проверять подключение к сетевому диску с какой-нибудь виндовой машины. Здесь меня ждало полное разочарование. Ничего не работало. Я бился над решение проблемы примерно 2 дня, но не смог победить. Перелопатил весь гугл по запросу «sssd samba», но не смог заставить работать эту связку.

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

Мне стало жаль тратить время на поиски готового решения с sssd, хотя мне очень хотелось получить рабочий вариант, так как с winbind достаточно часто возникают проблемы. Я надеялся от них избавиться переходом на sssd, но не получилось. Статью не стал переделывать, сохранив то, что уже настроил. Может быть у вас заработает.

Попутно узнал, что sssd не поддерживает NTLM авторизацию, только kerberos. Я не знаю, по какой причине, но у меня самба, судя по логам, упорно пыталась авторизовать пользователя по ntlm. В итоге, я прекратил попытки и вернулся к старому проверенному варианту с winbind. Далее расскажу, как настроить файловый сервер samba для работы в домене windows с помощью winbind.

Подключение Windows-клиентов

Важно

В ОС семейства Windows активируйте учетную запись Администратора командой:

Подключение клиента с ОС Windows 7

Для подключения клиента с ОС Windows 7 войдите в систему под учётной записью Администратора и с помощью текстового редактора создайте текстовый файл с именем со следующим содержимым:

samba_7_2008_fix.reg

Windows Registry Editor Version 5.00


"DomainCompatibilityMode"=dword:00000001
"DNSNameResolutionRequired"=dword:00000000

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

Теперь необходимо ввести компьютер в Samba-домен. Для этого перейдите в свойства компьютера, а оттуда в настройку удалённого доступа. Во вкладке «Имя компьютера» нажмите кнопку «Изменить».

Далее укажите, что компьютер является членом домена, и введите его имя:

Введите имя и пароль пользователя, созданного на Samba-сервере и входящего в группу администраторов домена:

После этого компьютер станет членом домена:

Подключение клиента с ОС Windows 10

Для подключения клиента с ОС Windows 10 войдите в систему под учётной записью Администратора и с помощью текстового редактора создайте текстовый файл с именем со следующим содержимым:

samba_7_2008_fix.reg

Windows Registry Editor Version 5.00


"DomainCompatibilityMode"=dword:00000001
"DNSNameResolutionRequired"=dword:00000000

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

Отредактируйте файл на сервере, добавив в секцию «global»м следующее:

/etc/samba/smb.conf

...
server max protocol = NT1
...

После этого перезапустите сервис samba:

/etc/init.d/samba restart

samba             | * samba -> stop: smbd ...                             
samba             | * samba -> stop: nmbd ...                             
samba             | * samba -> start: smbd ...                            
samba             | * samba -> start: nmbd ...                            

Теперь необходимо ввести компьютер в Samba-домен. Для этого перейдите в свойства компьютера, а оттуда в настройку удалённого доступа. Во вкладке «Имя компьютера» нажмите кнопку «Изменить».

Далее укажите, что компьютер является членом домена, и введите его имя:

Введите имя и пароль пользователя, созданного на Samba-сервере и входящего в группу администраторов домена:

После этого компьютер станет членом домена:

Подключение клиента с ОС Windows Server 2008

Для подключения клиента с ОС Windows 2008 войдите в систему под учётной записью Администратора и с помощью текстового редактора создайте текстовый файл с именем со следующим содержимым:

samba_7_2008_fix.reg

Windows Registry Editor Version 5.00


"DomainCompatibilityMode"=dword:00000001
"DNSNameResolutionRequired"=dword:00000000

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

Теперь необходимо ввести компьютер в Samba)домен. Для этого перейдите в свойства компьютера, а оттуда в настройку удалённого доступа. Во вкладке «Имя компьютера» нажмите кнопку «Изменить».

Далее укажите, что компьютер является членом домена, и введите его имя:

Введите имя и пароль пользователя, созданного на Samba-сервере и входящего в группу администраторов домена:

После этого компьютер станет членом домена:

System Config Samba

Графический интерфейс (GUI) способен во многом облегчить процесс настройки Samba в Ubuntu. Как минимум, пользователю, который только перешел на Linux, этот способ покажется более понятным.

Шаг 1: Установка

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

Если до этого вы не устанавливали все компоненты Samba себе на компьютер, вам нужно будет вместе с ней загрузить и установить еще некоторые пакеты:

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

Шаг 2: Запуск

Запустить System Config Samba можно двумя способами: с помощью «Терминала» и через меню Bash.

Способ 1: Терминал

Если вы решили использовать «Терминал», то вам необходимо сделать следующее:

  1. Нажмите сочетание клавиш Ctrl+Alt+T.
  2. Введите следующую команду:

  3. Нажмите Enter.

Далее вам потребуется ввести системный пароль, после чего откроется окно программы.

Способ 2: Меню Bash

Второй способ многим покажется проще, так как все операции выполняются в графическом интерфейсе.

  1. Нажмите на кнопку меню Bash, которая находится в верхнем левом углу рабочего стола.

Введите в открывшемся окне поисковой запрос «Samba».

Нажмите по одноименной программе в разделе «Приложения».

После этого система запросит у вас пароль пользователя. Введите его и программа откроется.

Шаг 3: Добавление пользователей

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

  1. Нажмите по пункту «Настройка» на верхней панели.

В меню выберите пункт «Пользователи Samba».

В появившемся окне нажмите «Добавить пользователя».

В выпадающем списке «Имя пользователя Unix» выберите пользователя, которому будет разрешено входить в папку.

Вручную введите имя пользователя Windows.

Введите пароль, а затем повторите его ввод в соответствующем поле.

Нажмите кнопку «ОК».

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

Шаг 4: Настройка сервера

Теперь нужно приступить к настройке сервера Samba. Это действие выполняется на порядок проще в графическом интерфейсе. Вот что нужно сделать:

  1. В главном окне программы нажмите по пункту «Настройка» на верхней панели.

Из списка выберите строку «Параметры сервера».

В появившемся окне, во вкладке «Основной», введите в строке «Рабочая группа» название группы, все компьютеры которой смогут подключаться к серверу Samba.

Введите описание группы. При желании можете оставить значение по умолчанию, этот параметр ни на что не влияет.

Перейдите на вкладку «Безопасность».

Определите режим аутентификации как «Пользователь».

Выберите из выпадающего списка «Шифровать пароли» интересующий вас вариант.

Выберите гостевую учетную запись.

Нажмите «ОК».

После этого настройка сервера будет окончена, можно переходить непосредственно к созданию папок Samba.

Шаг 5: Создание папок

Если ранее вы не создавали общедоступные папки, то окно программы будет пустым. Для создания новой папки, вам нужно выполнить следующее:

  1. Кликните по кнопке с изображением знака плюс.

В открывшемся окне, во вкладке «Основной», нажмите «Обзор».

В файловом менеджере укажите нужную папку для ее расшаривания.

В зависимости от предпочтений, поставьте галочки рядом с «Запись разрешена» (пользователю будет позволено редактировать файлы в общедоступной папке) и «Виден» (на другом ПК добавляемая папка будет видна).

Перейдите во вкладку «Доступ».

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

Если вы собираетесь сделать общедоступную папку, то поставьте переключатель в положение «Предоставить доступ всем».

Нажмите кнопку «ОК».

После этого в главном окне программы будет отображаться только что созданная папка.

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

Как только вы создадите все нужные папки, можете закрывать программу. На этом инструкция по настройке Samba в Ubuntu с помощью программы System Config Samba окончена.

Настройка Samba в Debian

Настройки Samba находятся в файле /etc/samba/smb.conf. Этот файл содержит общие настройки для Samba, а также сведения об общих ресурсах. Обычно в Debian предоставляются неплохие настройки по умолчанию, которые позволяют начать работать немедленно, что в общем не мешает взглянуть на них и внести изменения там, где это необходимо.

1. Базовые настройки

Первое что вам встретится в верхней части группы глобальных настроек  — настройка workgroup. Эта опция определяет имя рабочей группы Windows, частью которой станет ваш сервер. Значение по умолчанию — WORKGROUP, так как такое же значение, по умолчанию в задано в Windows. Если вы изменяли настройки рабочей группы в Windows, измените их также и здесь.

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

Если такой метод вам не нравится, вы можете добавить параметр hosts allow, чтобы определить, клиентов, которые могут подключаться к общему ресурсу. Укажите IP-адрес или диапазоны адресов.

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

2. Создание общего ресурса

В конфигурационном файле, по умолчанию, уже присутствуют несколько настроек для общих ресурсов. Они дают вам возможность настроить совместное использование домашних папок пользователей системы и принтеров. А доступ к каталогу печати уже открыт. Измените значение параметра browseable на no.

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

Во-первых, дайте имя своему общему ресурсу, и поместите это имя в скобки.

В следующей строке напишите краткий комментарий, описывающий общий ресурс.

Затем задайте путь, эквивалентный абсолютному пути к общей папке.

Выберите, будет ли папка отображаться в файловом менеджере или же ее нужно будет подключать вручную.

Хотите ли вы, чтобы пользователи имели права на запись в общий ресурс или могли подключить его только для чтения?

Смогут ли гости получить доступ к общему ресурсу? В терминах Samba гости — это анонимные пользователи, для которых не существует записи в настройках доступа к общему ресурсу. Если выразиться короче, хотите ли вы защитить общий ресурс паролем, или ограничить доступ к ресурсу только для отдельных пользователей?

Если гости не будут иметь доступ к общей папке, то у кого он будет?

Ну вот и все. Есть еще и другие опции и другие способы выполнить эти базовые шаги, но они дадут вам в итоге приблизительно тот же результат. Если вы точно знаете что вам нужно, этих опций вам будет достаточно. Если соединить все что мы написали выше — у нас получится что-то вроде этого:

Сохраняем и закрываем файл. Затем перезагружаем Samba.

3. Создание пользователя

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

После этого вам будет предложено ввести пароль для этого пользователя. Это пароль, которым будут защищены доступные ему общие ресурсы.

Virtual Servers

Virtual
servers can be used to create the illusion of having multiple servers
on the network, when in reality there is only one. The technique is
simple to implement: a system simply registers more than one NetBIOS
name in association with its IP address. There are tangible benefits
to doing this.

For example, the accounting department might have an
accounting server, and clients of it would see
just the accounting disks and printers. The marketing department
could have its own server, marketing, with its own
reports, and so on. However, all the services would be provided by
one medium-size Unix server (and one relaxed administrator) instead
of having one small server per department.

Маршрутизатор D-Link как DLNA сервер

Теперь давайте превратим роутер D-Link в DLNA-сервер. Отличие от предыдущего способа в том, что этот сервер будет работать только при использовании программ, поддерживающих DLNA. Если говорить про встроенные средства Windows, то это Windows Media Center.

Настройки находятся в том же разделе «USB накопитель», в графе «DLNA». Здесь ставим галочку на «Включено» и задаем имя DLNA сервера, которое будет отображаться на устройствах, на которых мы будем просматривать видосы с флешки. По умолчанию он называется «D-Link DLNA Server».

Далее нажимаем на кнопку «Добавить» в параграфе «Медиа-директории». Добавится поле с кнопкой выбора папки с флешки — нажимаем на нее

И выбираем ту папку с накопителя, которую хотим сделать доступной для просмотра по DLNA и куда мы будем заливать свои файлы, после чего нажимаем «Open»

Теперь на странице настройки DLNA сервера отобразится путь к этой директории. Остается только выбрать тип файлов для ретрансляции:

  • Все
  • Видео
  • Аудио
  • Изображения

Соответственно, если мы оставим «Видео», которое установлено по умолчанию, то все остальные типы файлов из данной папки будут игнорироваться и по DLNA не передаваться.

После этого жмем кнопку «Применить»

И сохраняем изменения, нажав на появившуюся красную кнопку в верхнем правом углу

Теперь можно подключиться к нашему DLNA серверу D-Link с любого девайса, например с телефона, установив на него предварительно приложение для воспроизведения файлов по протоколу DLNA.

Либо через проводник Windows — оба сервера будут отображаться в списке сетевых устройств

Не помогло

Шаг 3. Настройка SSL

Корректируем /etc/ssl/openssl.conf – сведения о организации – чтобы меньше заполнять впоследствии при формировании подчиненных сертификатов. Правда, при создании корневого сертификата (СА) придется их все же один раз набрать. В YaST «пользователи и безопасность — управление СА» создадим корневой сертификат. Указываем необходимые опции — страну, город, срок действия сертификата. В том числе нужно определить общее имя (common name) как имя машины, на которой и в дальнейшем будет запускаться Центр сертификации. В закладке «дополнительные параметры – Key Usage» отметим опцию «digital Signature»:

Готовим сертификат для сети учебного учреждения

Указываем пароль, и отрабатываем «далее» — до закрытия вкладки. Корневой сертификат будет сформирован. При повторном открытии того же инструмента требуется выделить CA в дереве CA tree, и нажать клавишу «Enter CA», после чего будет предложено набрать пароль корневого сертификата. В открывшейся форме, перейдя во вкладку «Сертификаты» формируем сертификат для компьютера, на котором развернем PDC («добавить – добавить сертификат сервера»). Общее имя сертификата должно соответствовать полному имени сервера, переименовывать потом машину – обладатель сертификата будет нежелательно. Сертификат сохраняем в файл, выбрав клавишу «Экспорт» например, /root/docs/security/asles.p12, причем в формате «как PKCS12 и включая СА цепочку» (и закрыт паролем). На будущем PDC используя вкладку YaST «пользователи и безопасность — общий сертификат сервера» импортируем asles.p12 из файла.

Примечания:

  1. Те же результаты могут быть достигнуты средствами командной строки.
  2. Возможности получения CA, подписанного авторитетным центром сертификации рассмотрены в работе Ивана Максимова .

Random

  • На звонок

    Bilal and Lion Babe

    СКАЧАТЬ

  • На звонок

    Jackson Emmer

    СКАЧАТЬ

  • На звонок

    The Joy Bus

    СКАЧАТЬ

  • На звонок

    Sarah Vista

    СКАЧАТЬ

  • На звонок

    ALESTA

    СКАЧАТЬ

  • На звонок

    Ludovico Einaudi & Angèle Dubeau, La Pieta

    СКАЧАТЬ

  • На звонок

    Ann Hallenberg

    СКАЧАТЬ

  • На звонок

    Уроки польского

    СКАЧАТЬ

  • На звонок

    Harold Budd & Clive Wright

    СКАЧАТЬ

  • На звонок

    Nico Orozco

    СКАЧАТЬ

  • На звонок

    Will Taylor

    СКАЧАТЬ

  • На звонок

    Qbical

    СКАЧАТЬ

  • На звонок

    Andy Nicolas

    СКАЧАТЬ

  • На звонок

    Off the Sky

    СКАЧАТЬ

  • На звонок

    Kruor Noctis

    СКАЧАТЬ

  • На звонок

    Robin Schulz feat James Blunt

    СКАЧАТЬ

  • На звонок

    Orphia

    СКАЧАТЬ

  • На звонок

    Martha Williams

    СКАЧАТЬ

  • На звонок

    U.P. Wilson

    СКАЧАТЬ

  • На звонок

    Canyon City

    СКАЧАТЬ

  • На звонок

    The Hiraeth

    СКАЧАТЬ

  • На звонок

    Tarja Preta HC

    СКАЧАТЬ

  • На звонок

    Pariah Faction

    СКАЧАТЬ

  • На звонок

    Shirokuma

    СКАЧАТЬ

  • На звонок

    Микки feat. Адам Шиза

    СКАЧАТЬ

  • На звонок

    Scott Lee

    СКАЧАТЬ

  • На звонок

    Roger Bourgeois

    СКАЧАТЬ

  • На звонок

    Mariano Clavijo

    СКАЧАТЬ

  • На звонок

    Matthew Margeson

    СКАЧАТЬ

  • На звонок

    Lana Brunell

    СКАЧАТЬ

  • На звонок

    The Boredom Corporation

    СКАЧАТЬ

  • На звонок

    MOX

    СКАЧАТЬ

  • На звонок

    Daya and Dan Griffith, Illenium

    СКАЧАТЬ

  • На звонок

    Zee 1

    СКАЧАТЬ

  • На звонок

    Nexus & Tight

    СКАЧАТЬ

  • На звонок

    Adrian Llovera

    СКАЧАТЬ

  • На звонок

    Baldo Bravo

    СКАЧАТЬ

  • На звонок

    Georg Meggs

    СКАЧАТЬ

  • На звонок

    Ever More Nest

    СКАЧАТЬ

  • На звонок

    Dave Caines

00.00

00.00

Kerberos

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

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

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

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

Тестирование файлового сервера

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

smbclient -L localhost -U%

Нажмите, чтобы развернуть

Domain= OS= Server=

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

Server Comment——— ——-

Workgroup Master——— ——-

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

smbclient //localhost/netlogon -UAdministrator -c ‘ls’

Enter Administrator’s password: Domain= OS= Server=. 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.

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

Команда Описание

dbcheck

Проверка локальной базы данных AD на наличие ошибок
delegation Управление делегированием
dns Управление параметрами доменной службы DNS
domain Управление параметрами домена
drs Управление службой репликации каталогов (Directory Replication Services, DRS)
dsacl Управление списками контроля доступа DS
fsmo Управление ролями (Flexible Single Master Operations, FSMO)
gpo Управление групповыми политиками
group Управление группами
ldapcmp Сравнение двух баз данных ldap
ntacl Управление списками контроля доступа ACL
processes Вывод списвка процессов (для упрощения отладки без использования setproctitle).
rodc Управление контроллером домена (Read-Only Domain Controller, RODC)
sites Управление сайтами
spn Управление службой принципалов (Service Principal Name, SPN)
testparm Проверка конфигурационного файла на корректность синтаксиса
time Получение показаний текущего времени сервера
user Управление пользователями
visualize Графическое представление состояния сети Samba

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

man samba-tool

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

samba-tool -h 

Как отключить поддержку по протоколу SMBv1 в windows 7, 8, 10?

SMBv1 является устаревшим протоколом, который подвергается атакам вирусов вымогателей, например, WannaCry. Рассмотрим, как отключить протокол SMBv1 в windows и полностью его заблокировать.

Зачем нужна поддержка SMBv1 в windows

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

Проблемы можно было избежать, если бы протокол был выключен на компьютере. И все-таки, стоит его отключить. Несмотря на то, что Майкрософт выпустил патчи для устранения уязвимости даже для старых систем, неизвестно что через некоторое время не появится еще одна итерация вируса WannaCry, который использует дырявый протокол SMBv1 иным образом. Рассмотрим, как полностью отключить протокол в windows XP, 7, 8, 8.1 и 10?

Выключение SMBv1 в windows 7, Server 2008, Server 2008 R2

Откройте меню Пуск, а затем с помощью поисковой системы найдите программу PowerShell. В списке результатов поиска кликните на нее правой кнопкой мыши и выберите «запуск от имени администратора».

В окне PowerShell введите следующую команду для отключения SMBv1:

Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters» SMB2 -Type DWORD -Value 0 -Force

После выполнения команды перезапустите windows. Таким образом можно блокировать проникновение вирусов полностью отключив поддержку smbv1.

Выключение SMBv1 в windows 8 и выше

Зайдите в Панель управления, а затем в «Программы – Удаление Программ». Откроется список программ, установленных в системе. В левом меню кликните на кнопку «Включение или отключение компонентов windows».

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

Поддержка общего доступа к файлам SMB1.0/CIFS

По умолчанию напротив этой записи установлен флажок, это означает, что функция активирована. Снимите его и нажмите на ОК, чтобы ее отключить.

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

Дополнительная блокировка портов с помощью Брандмауэра

Если хотите обезопасить себя еще больше хорошей идеей является блокирование портов, которые использует SMBv1. Это 445 TCP и 137-139 UDP. Их можно легко отключить с помощью встроенного в систему Брандмауэра.

С помощью системного поиска в меню Пуск найдите инструмент «Брандмауэр windows». В окне брандмауэра кликните правой кнопкой мыши на поле «Правила для входящих подключений» и выберите пункт «Новое правило».

Здесь укажите тип «Port» и нажмите «Далее». В следующем шаге нужно указать тип. Выберите «TCP», а затем в поле «Определенные локальные порты» введите 445.

Нажмите на кнопку «Далее». В следующем окне нужно выбрать действие с указанным портом. Установите флажок «Блокировать подключение».

Нажмите «Далее» и все остальные настройки оставьте без изменений. На последнем шаге введите название для созданного правила – например, «Блокировка 445» и нажмите «Готово».

Созданное правило будет блокировать порт 445. Теперь создайте правило для блокировки UDP-портов в диапазоне 137-139. Все сделайте точно также только тип укажите UDP, а поле «Определенные локальные порты» введите 137-139.

Таким образом, созданы два правила, которые блокируют соединение по портам и тем самым вирусные атаки, проникающие через этот протокол.

Перед установкой

Наименование домена

Перед началом инсталляции необходимо определиться с именем сервера и домена. В рамках данной статьи сервер с Samba на борту будет иметь полное имя (FQDN) dc0.ad.rmn-lux.ru, а сам домен – ad.rmn-lux.ru.

Кратко поясню, почему выбран именно такой формат именования.

  • Никаких названий а-ля PDC или BDC использовать не стоит – это пережитки прошлого;
  • Также не стоит использовать test.local и т.п. домены:
    • подобные имена противоречат rfc 6762
    • для такого домена не получится получить публичный TLS-сертификат
    • такое имя будет недоступно из внешней сети
  • Можно было бы назвать AD домен также, как основной домен сайта. Для примера, в таком случае имя домена было бы как и домен моего сайта – it-lux.ru. Это правильно, но в таком случае пришлось бы следить за публичной и внутренней зоной DNS, что не всегда удобно, т.к. может возникнуть рассинхрон.
  • В качестве имени можно выбрать домен из другой зоны, который не будет конфликтовать с основным доменом. В моём случае это может быть, например, it-lux.online или аналогичный домен в другой доменной зоне.

Исходя из вышесказанного, наиболее правильным, как мне кажется, использовать поддомен ad.rmn-lux.ru для названия домена AD, т.к. это будет консолидировано в рамках одного домена.

AD Schema

По своей сути схема включает в себя описания всех объектов, хранящихся в службе каталогов (пользователи, группы и т.д.)

Информация с оф. сайта Samba по поддержке AD схем:

Windows Server Version Directory Schema Version
Windows Server 2016 87
Windows Server 2012R2 69
Windows Server 2012 56
Windows Server 2008R2 47
Samba Version Highest Supported Schema Version
4.11 and later 69
4.5 – 4.10 69 *
4.0 – 4.4 47

Последняя стабильно поддерживаемая AD схема в Samba на момент написания данного материала – 69, а подходящая версия Samba для этого – 4.11 и выше.

Одним из нюансов является то, что в стабильных репозиториях Debian 10 доступна Samba версии только 4.9. Но хотелось бы использовать последние доступные возможности схемы домена, поэтому я на свой страх и риск подключил тестовые репозитории и произвёл дальнейшую установку Samba 4.11.3 из них:

Нажмите для раскрытия sources.list

DNS

Для домена необходимо использование DNS-сервера. Я остановился на распространённом варианте – использование встроенного в Samba DNS Internal. Допустимо использование BIND, но в рамках данной статьи его применение рассматриваться не будет.

Samba Internal DNS имеет следующие недостатки:

  • нельзя использовать как кеширующий сервер
  • не поддерживает рекурсивные запросы
  • нет shared-key transaction signature (TSIG)
  • нет зоны-заглушки
  • не поддерживает zone transfers
  • нет Round Robin балансировки между DC’s

Не смотря на вышеперечисленное, на практике это не доставляет проблем.

Подразумевается, что в сети, где разворачивается Samba AD, уже используется один или более DNS-серверов (например, тот же BIND, который не связан с Samba или внешние гугл\яндекс сервера). На этот DNS-сервер будут перенаправляться запросы клиентов Samba, т.е. он будет выбран в качестве forwarder.

Удаление существующих файлов

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

Запущенные экземпляры Samba и сервисов

Перед началом установки надо проверить, что не запущена samba и её сервисы после установки пакетов:

Если под фильтр попадает что-то из запущенного, нужно остановить:

Скрыть юниты, чтобы они не могли быть запущены:

И отключить:

Заключение

Скажу откровенно — мне не нравится, как работают файловые сервера samba с интеграцией в виндовом домене. Но настраивать их приходится часто, так как востребованный функционал. Востребован в первую очередь потому, что не требует вообще никаких денег за лицензии, и работает на минимальной конфигурации железа. Вот список типичных проблем при работе самбы в домене:

  • Иногда через windows acl права перестают выставляться, возникают неинформативные ошибки, по которым невозможно понять, что не так.
  • Я достаточно регулярно наблюдаю ситуацию, когда слетают соответствия доменных учеток линуксовым UID. В итоге права доступа превращаются в ничего не значащий набор цифр и перестают работать.
  • При переносе данных с одного сервера на другой трудно сохранить права доступа. Можно поступить вот так для копирования прав доступа, либо как-то заморочиться, чтобы на всех серверах у вас были одинаковые UID доменных учетных записей. Я не разбирал этот вопрос подробно.

Если у вас есть возможность настроить файловый сервер на windows, либо обойтись линуксом без домена, то сделайте так. Существенно упростите настройку и дальнейшую эксплуатацию. Данную статью еще можно дополнить некоторыми моментами, которые я рассказал ранее, а что не рассказал, постараюсь раскрыть позже и добавить сюда ссылки на статьи:

  1. Подробное логирование всех действий с файлами на сервере.
  2. Настройка корзины для сетевых дисков samba.
  3. Бэкап файлового сервера.
  4. Мониторинг за размером файловой шары.

Буду рад любым полезным замечаниям, исправлениям, советам по настройке файлового сервера samba. Я потратил значительное время, чтобы поделиться своими знаниями и опытом с остальными. Надеюсь, кто-то поделится чем-то полезным со мной. В том числе ради этого я и пишу статьи. Они расширяют мой кругозор и закрепляют полученные знания.

Онлайн курс «DevOps практики и инструменты»

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.

Проверьте себя на вступительном тесте и смотрите программу детальнее по .

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий