Smbd service что это
Перейти к содержимому

Smbd service что это

  • автор:

Запуск Samba

Наконец-то мы почти у цели. После всего этого конфигурирования вы окончательно подготовлены к запуску Samba и к началу работы. Однако, прежде, чем вы действительно запустите Samba, следует убедиться, что вы создали правильный конфигурационный файл, не содержащий ошибок. Samba предоставляет программу testparn, которая проверит это для вас. Если testparm выдает вам одобрение работоспособности конфигурационного файла, можете двигаться дальше и запускать Samba.

Реальный сервер Samba состоит из двух демонов Linux — smbd и nmbd , Процесс smbd является демоном, предоставляющим файл SMB и коллективное обслуживание печати. Демон nmbd является процессом поддержки, который обеспечивает серверную поддержку имени сервера Net BIOS. В действительности, nmbd способен обеспечить большую часть функциональных возможностей сервера WINS на Windows NT.

При запуске демонов Samba вы должны решить, начинать ли их запуск как демонов во время загрузки, или запустить их автоматически из inetd . Не пытайтесь делать и то и другое: если вы так поступите, с Samba может произойти что-нибудь плохое. Запуск процессов Samba в качестве демонов заставит их работать непрерывно, что займет немного времени процессора и пространства процесса. Однако, работая непосредственно как демоны, процессы Samba будут откликаться несколько быстрее при обслуживании запросов. Запуск Samba из inetd обеспечивает их запуск только при посылке запроса; при этом они будут медленнее откликаться на соединения, так как процессы придется создавать каждый раз, когда приходит запрос на соединение.

Запуск Samba как демона

Запуск процессов Samba как демонов очень прост. Просто задайте следующие две команды как корневые ( root ):

/usr/local/samba/bin/smbd -D /usr/local/samba/bin/nmbd -D

Использование флага » -D «» заставляет Samba запускаться в качестве демона, который будет продолжать работать после того, как процесс создания завершен. Это не происходит по умолчанию. Вы должны использовать флаг » -D «, если хотите выполнять процессы как демоны.

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

Запуск Samba из inetd

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

Синтаксис конфигурационного файла inetd отличается для разных вариантов Linux. Для установления точного синтаксиса на вашей платформе получите консультацию на man странице.

Чтобы разрешить запуск Samba через inetd , сначала отредактируйте с помощью своего текстового редактора файл /etc/service . Ищите элементы для орта 139 TCP и порта 137 UDP . Если ни один из них не найден, добавьте к своему файлу /etc/services следующие строки:

netbios-ns 137/udp netbios-ssn 139/tcp

Eсли вы нашли сервисные элементы на порт 137 UDP и порт 139 TCP , сделайте примечание для сервисных имен. Они потребуются вам на следующем этапе, теперь вам необходимо добавить элементы в файл inetd.conf для того, чтобы inetd был бы в состоянии запустить процессы Samba. Типичный набор элементов выглядел бы так:

netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd smbd netbios-ns dgram udp wait root /usr/local/samba/bin/nmbd nmbd

Запомните, что синтаксис inetd.conf может отличаться от представленного. Проверьте man страницы, чтобы быть уверенными в правильности своего синтаксиса. Если вы нашли элементы для порта 137 UDP и порта 139 TCP , когда вы ранее проверяли файл /etc/services , то сравните сервисные имена с соответствующими именами в первом столбце этих двух элементов inetd.conf . Сервисные имена должны точно совпадать. Некоторые версии Linux используют различные преобразования к верхнему регистру или используют подчеркивание вместо дефисов в сервисных именах. Если сервисные имена на вашей системе отличаются, измените эти элементы inetd.conf до достижения совпадения между ними.

В этот момент вы можете просто перезапустить процесс inetd для того, чтобы он перечитал свой конфигурационный файл. Многие версии Linux позволяют вам выполнить kill-HUP по идентификационному номеру процесса для inetd , чтобы заставить его перечитать его конфигурационный файл без необходимости остановки и запуска процесса inetd .

Использование smbclient

Samba не только может создать директории и принтеры Linux, с компьютерами Windows доступными как часть сети через SMB, но вы также можете использовать Samba для доступа к коллективным директориям на других компьютерах Windows. Samba предоставляет программу клиента, соответственно называемую smbclient , которая позволяет вам подсоединяться к другим частям сети.

Программа smbclient предоставляет интерфейс линейного режима (line mode interface), подобный FTP, позволяющий передавать файлы при их сетевом коллективном использовании на другой сервер SMB. Это не позволяет монтировать часть SMB в качестве локального директория Linux. Вы можете также использовать smbclient для перечисления доступных совместно используемых ресурсов на другом сервере. В то время как существует несколько параметров командной строки, ] доступных из smbclient , большинство пользователей используют программу либо для запроса сервера для выяснения того, какие совместно используемые ресурсы доступны, либо для подсоединения к серверу для передачи файлов. Для перечисления совместно используемых ресурсов, доступных на конкретном сервере SMB, используйте опцию » -L » с smbclient так, как это показано в следующем примере:

smbclient -L -I ntsrv.myddmain.com

Второе множество аргументов » -I ntsrv.mydomain.com » задает имя хоста DNS или IP-адрес сервера. Так как Linux по умолчанию не знает ничего об именах Net BIOS, то аргумент » -I » позволяет дать вместо этого DNS имя сервера. Без аргумента » -I » smbclient будет обрабатывать имя сервера как Net BIOS и будет пытаться распознать его через стандартный процесс распознавания имени Net BIOS.

Втopoe распространенное использование smbclient состоит в подсоединении сетевому совместно используемому ресурсу и замене файлов. Предположим, что вы хотите подсоединиться к сервисному средству \\NTSRV\PUBLIC как пользователь smith . При использовании smbclient команда будет следующей:

smbclient '\\NTSRV\PUBLIC' -I ntsrv.mydomain.com -U smith

Samba может предложить ввести пароль, если последний требуется для подсоединения к сервису. Отметим, что имя Net BIOS для сервера и совместно используемого ресурса заключено в одиночные кавычки. Это должно удерживать командный процессор Linux от попыток транслировать символы \ . Стоит подсоединиться к совместно используемому ресурсу, и smbclient предоставляет команды, которые очень похожи на FTP. Например, для вас будут доступны команды get, put, cd и dir . Для получения полного списка команд вы можете просто в командной строке набрать help .

Smbd service что это

smbd [ -D ] [ -a ] [ -d уровень_отладки ] [ -l файл_протоколирования ] [ -p номер_порта ] [ -O опции_socket’ов ] [ -s конфигурационный_файл ]

ОПИСАНИЕ

Эта программа является частью пакета Samba.

smbd это сервер, которые может предоставлять сервисы SMB. Сервисами являются файловый сервер и сервер печати. Они предоставляются клиентам, которые используюьт SMB протокол. Этот протокол совместим с протоколом LanManager и с успехом может применятся клиентами LanManager. Сюда включаются MSCLIENT 3.0 для DOS, Windows for Workgroups, Windows 95, Windows NT, OS/2, DAVE для Macintosh, и smbfs для Linux.

Расширенное описание сервисов, которые может предоставлять сервер дано на страницах руководства, посвященных конфигурационному файлу Samba (смотрите smb.conf (5)). Текущая страница руководства не описывает сервисы, а делает акцент на административных аспектах запуска сервера.

Пожалуйста заметьте, что здесь отсутствует описание вопросов безопастности при запуске сервера, и что станица руководства smb.conf (5) обязательно должна быть внимательно прочитана перед тем как вы приступите к установке.

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

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

ОПЦИИ

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

По умолчанию сервер НЕ запускается в режиме демона.

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

Уровень_отладки должен быть целым числом от 0 до 10.

Если данная опция не задана, то по умолчанию уровень_отладки выставляется в 0. Чем больше заданное значение, тем больше подробностей о работе сервера будет заносится в файлы протоколирования. При уровне 0 будут заносится только критические ошибки и важные предупреждения. Уровень 1 является самым удобным для повседневной работы — он генерирует дополнительную информацию об операциях обрывов соединений.

Уровни выше 1 будут генерировать соотвественно больше информации и должны использоваться только при возникновении проблем. Уровни выше 3 разрабатываются только для использования разработчиками и генерируют ОГРОМНОЕ количество информации, большая часть которой крайне специфична.

Если эта опция задана, то файл_протоколирования задает базовое имя файла, в который будет помещаться информация о работе сервера.

По умолчанию имя этого файла определяется во время компиляции.

Базовое имя используется для генерации реальных имен файлов протоколирования. Например, если задано базовое имя «log», то будут созданы следующие файлы:

log.debug (содержащий отладочную информацию)

log.in (содержит входящие транзакции)

log.out (содержит выходящии транзакции)

Сгенерированные файлы протоколирования никогда не удаляются сервером.

Смотрите секцию ОПЦИИ SOCKET’ов в файле smb.conf (5).

значение номер_порта должно быть положительны целым числом.

По умолчанию оно установлено в 139.

Данный порт будет использоваться при установке соединения клиента с сервером. Стандартный (принятый) номер порта для сервера это 139. Если вы захотите запустить север от имени обычного пользователя (не root), то многие системы потребуют от вас использовать номер порта больше чем 1024 — попросите своего системного администратора помочь, в этой ситуации.

Обычно для сервера, который используется многиими клиентами, вы должны настроить порт, отличный от 139 и затребовать службу перенаправления информации на порт 139, подробности этого читайте в файле rfc1002.txt в секции 4.3.5.

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

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

В этом файле задаются параметры необходимые серверу. Об этих параметрах, включая специфическую информацию такую как о файле printcap и другую можно прочитать на странице руководства smb.conf (5).

ФАЙЛЫ

Если сервер запускается через inetd, то данный файл должен сожержать соответствующую информацию для запуска. Смотрите секцию «УСТАНОВКА» ниже.

(или любой другой сценарий инициализации вашей системы)

Если вы хотите запускать сервер как демон во время загрузки системы, то данный файл должен содержать соответствующую информацию для запуска. Смотрите секцию «УСТАНОВКА» ниже.

Если запускать сервер через inetd, то этот файл должен содержать имя сервиса (т.е. netbios-ssn) порт сервиса (т.е. 139) и тип протокола (т.е. tcp). Смотрите секцию «УСТАНОВКА» ниже.

Этот файл описывает все сервисы сервера которые могут быть доступны для клиентов. Смотрите smb.conf (5) для подробностей.

ОГРАНИЧЕНИЯ

На некоторых системах smbd не может изменить обратно идентификатор пользователя на root после вызова setuid(). Такие системы называются «trapdoor» системами. Если у вас такая система, то вы не сможете осуществить соединение от клиента (такого как PC), так как нужно два разлиных пользователя. Попытка соединения второго пользователя будет приводит к сообщению «access denied» (в доступе отказано)

ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ

Если для сервиса печати не задано имя принтера, то многие системы будут использовать значение этой переменной (или имя «lp» если переменная не определена) как имя принтера.

УСТАНОВКА

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

Рекомендуется серверную программу установить в каталог /usr/local/samba, или в любой другой, доступный на чтение всем, а на запись только суперпользователю. Выполнение программы должно быть доступно всем, так как пользователи могут захотеть запустить сервер сами (в этом случае сервер будет, разумеется, выполняется с их уровнем привелегий). На программу-сервер НЕ должен быть установлен бит суперпользователя (setuid root). На некоторых системах может портребоваться установить для smbd идентификатор пустой группы. Это вызвано тем, что некоторые системы могут иметь брешь в безопастности, когда к демон-процессам может присоединится пользователь с отладчиком. Установка для smbd пустой группы может закрыть эту брешь для дальнейшего использования. Данная брешь в безопастности и этот совет имели место быть в Linux, во время написания этого совета. Возможно такое и бывает только в Linux так как тестирование на других системах подобной дыры в безопастности не выявило.

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

Конфигурационный файл должен быть помещен в каталог доступный на чтение и запись только суперпользователю, так как конфигурационный файл управляет безопастностью сервисов, предоставляемых сервером. Конфигурационный файл может быть сделан читаемым для всех, если вы так желаете, но это не очень хорошее решение и мы его не рекомендуем. Простой конфигурационный файл «smb.conf.sample» поставляется вместе с исходными текстами сервера — он может быть переименован в «smb.conf» и модифицирован под ваши требования.

Остаются следующие замечания:

smbd (серверная программа) установлена в /usr/local/samba/bin

smb.conf (конфигурационный файл) установлена в /usr/local/samba/lib

файлы протоколирования записаны в /var/adm/smblogs

Сервер может быть запущен как демон пользователем или при загрузке системы, или может быть запущен через inetd. Если сервер запустить демоном, то он всегда будет готов для быстрого открытия сессии. Если сервер запустить через initd, то это даст возможность сэкономить память, а для повышения безопастности могут быть использованы такие утилиты как TCP-wrapper.

Когда вы решите как вам лучше запускать сервер, переходите к либо к секции «ЗАПУСК СЕРВЕРА КАК ДЕМОНА» или «ЗАПУСК СЕРВЕРА ПО ЗАПРОСУ».

ЗАПУСК СЕРВЕРА КАК ДЕМОНА

Для запуска сервера как демона из командной строки, просто добавте опцию -D. Ставить знак «&» в конце командной строки не нужно.

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

Чтобы гаратированно запустить сервер как демон, во время загрузки машины и убедится, что он запущен с привелегиями суперпользователя, а также что он может обслуживать множество клиентов, вам необходимо модифицировать системные файлы запуска. Вам нужно вставить (например в /etc/rc) строку, описывающую номер порта, файл протоколирования, конфигурационный файл и уровень отладки, например:

/usr/local/samba/bin/smbd -D -l /var/adm/smblogs/log -s /usr/local/samba/lib/smb.conf

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

Если опции испольщуемые во время компиляции соответсвуют вашей системе, то все параметры за исключением необязательных: уровня отдаки и опции -D могут быть опущены. Смотрите секцию «ОПЦИИ» выше.

ЗАПУСК СЕРВЕРА ПО ЗАПРОСУ

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

Возможно, что вместе с smbd вы также захотите установить сервер nmbd — смотрите nmbd (8).

Сперва, убедитесь, что нужный порт описан в файле /etc/services. Рекомендуется испльзовать порт 139, если это возможно, однако можно использовать и любой другой.

Убедитесь, что в файле /etc/services есть следующая строка:

Замечание для пользователей NIS/YP — вам может быть понадобится перестройка файла NIS service maps вместо правки файла /etc/services.

Далее, поместите необходимую строку в файл /etc/inetd.conf (если вы используете демон отличный от inetd, то должны настроить его сами). Заметим, что первая часть строки совпадает с именем сервиса в файле /etc/services. Подставте соответствующие значения для вашей системы в эту строку (смотрите inetd (8)):

netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd -d1 -l/var/adm/smblogs/log -s/usr/local/samba/lib/smb.conf

(Данная выше команда должна быть помещена в файл /etc/inetd.conf в одной строке. В завсимости от характеристик вашего терминала, вы можете неправильно увидеть эту строку на экране)

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

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

[homes]
writable = yes

[printers]
writable = no
printable = yes
path = /tmp
public = yes

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

ПРОВЕРА ПРАВИЛЬНОСТИ УСТАНОВКИ

Если сервер запускается как демон, запустите его перед проверкой. Если он запускается через inetd, то перезапустите систему или убейте и запустите снова inetd. Некоторые версии inetd могут перечитывать свой конфигурационный файл, если inetd послать сигнал HUP.

Если имя вашей машины, например, «fred» а ваше имя «mary», вы должны теперь иметь возможность присоединится к ресурсу «\\fred\mary».

Для предполагаемого теста и эксперимента с сервером, мы рекомендуем вам использовать программу smbclient (смотрите smbclient (1)).

ВЕРСИЯ

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

СМОТРИТЕ ТАКЖЕ

ДИАГНОСТИКА

[Эта секция находится в стадии разработки]

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

Количество диагностических сообщений зависит от уровня отладки, который установлен для данного сервера. Если у вас возникли проблемы, установите уровень отладки в 3 и изучите файлы протоколирования.

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

СИГНАЛЫ

В версии 1.9.18 и выше уровень отладки для smbd может быть увеличен посылкой smbd сигнала SIGUSR1 (kill -USR1 ) и уменьшен посылкой сигнала SIGUSR2 (kill -USR2 ). Это позволяет гибко проводить диагностику в случае возникновения проблем и после их устранения вернуться на нормальный уровень отладки.

Note that as the signal handlers send a debug write, they are not re-entrant in smbd. This you should wait until smbd is in a state of waiting for an incoming smb before issuing them. It is possible to make the signal handlers safe by un-blocking the signals before the select call and re-blocking them after, however this would affect performance.

БАГИ

Неизвестны.

CREDITS

Первоначальный пакет Samba и сопутствующие утилиты создал Andrew Tridgell (samba-bugs@samba.anu.edu.au). Andrew также является главным человеком, который поддерживает этот проект.

Смотрите smb.conf (5) на предмет полного списка участников проекта и подробностей о том, как отсылать сообщения об ошибках, комментарии и т.д.

Что такое samba

Обновлено

Обновлено: 11.01.2019 Опубликовано: 28.12.2016

программное обеспечение для реализации файлового сервера, а с 4-й версии и контроллера домена (аналог Active Directory). Устанавливается как на Windows, так и Linux / FreeBSD. Также может быть установлена на некоторые модели роутеров для реализации простого домошнего файлового хранилища.

Samba server распространяется бесплатно и его можно скачать с официального сайта. Для настройки необходимо редактирование конфигурационного файла smb.conf.

В качестве клиетской части для подключения к файловому серверу может выступать программное обеспечение, работающее по протоколу SMB. В UNIX это samba client, в Windows — проводник.

Прочитайте более подробно о Samba на сайте Википедия

Встречается в статьях

Инструкции:

  1. Как настроить Freeradius для Active Directory и MySQL
  2. Настройка L2TP VPN-сервера на CentOS 8 для возможности подкючения стандартными средствами Windows
  3. Как настроить samba4 на FreeBSD 10
  4. Как установить и использовать OpenVZ на CentOS
  5. Установка и настройка файлового сервера Samba на CentOS 8
  6. Установка и настройка файлового сервера Samba на Ubuntu
  7. Настройка аутентификации по SSH через Active Directory на CentOS
  8. Установка и настройка puppet на CentOS

Мини-инструкции:

  1. Как расшарить папку в Samba
  2. Как в Linux монтировать CIFS
  3. Автоматическое монтирование дисков в Linux
  4. Использование tar в UNIX-системах
  5. Шпаргалка по настройке SELinux для различных программ
  6. Настройка Squid-аутентификации через службу каталогов Active Directory
  7. Установка и настройка LDAP сервера FreeIPA на Linux CentOS
  8. Как работать с квотами на дисковое пространство в Linux
  9. Авторизация на WiFi при помощи Freeradius с хранением учетных записей на LDAP-сервере FreeIPA
  10. Создание снапшотов на ZFS с их просмотром на шаре Samba

Вопросы и ответы:

  1. Какая операционная система лучше подходит для файлового сервера
  2. Принцип организации централизованной адресной книги для почтового сервера

Примеры скриптов:

  1. Создание резервных копий баз данных MySQL или MariaDB
  2. Создание резервных копий для файлового сервера

Примеры моих работ:

Всё о программе Samba

Всё о программе Samba

3 августа 2022

Чтобы решить проблемы, вызванные разобщенностью Microsoft Windows и Linux в корпоративных сетях и добиться «прозрачности» и доступности для администраторов и пользователей одной корпоративной сети к другой, применяется протоколы SMB/CIFS и программа Samba со стороны UNIX/Linux.

Что умеет Samba?

Samba представляет собой программный пакет с открытым исходным кодом, дающий сетевым администраторам возможность гибко и свободно настраивать, конфигурировать и выбирать системы и оборудование, то есть устанавливать на компьютерах UNIX/Linux имитации устройств с Windows. Это упрощает выполнение задач по обмену файлами (как файл-серверам) или задавать параметры печати в качестве принт-серверов.

Принцип программы Samba

Принцип программы Samba

Samba обеспечивает свободный доступ к:

  • дискам Linux к Windows-компьютерам;
  • дискам Windows к оборудованию с ПО Linux;
  • принтерам Linux к Windows-компьютерам;
  • принтерам Windows к Linux-системам.

Протоколы SMB/CIFS: что это такое, в чем различия

Говоря о программе Samba немаловажно упомянуть о протоколах SMB и CIFS:

  • SMB (Server Message Block) – это один из наиболее старых протоколов (был разработан в 1983 году). SMB изначально существовал как клиент-серверный протокол для получения доступа к файлам, каталогам и сетевым ресурсам, а также для обмена информацией по межсистемным процессам. На сегодняшний день основное назначение SMB (версия 3.1.1.) – это установка соединения с устройствами со старыми версиями ОС Microsoft для подключения к серверам и обмена файлами.
  • CIFS (Common Internet File System) представляет собой часть протокола SMB и применяется для удаленного подключения нескольких платформ – Windows, Linux или macOS. Отличительная характеристика CIFS – это его универсальность, позволяющая идентифицировать и читать файлы системы NTFS, применяемой в Windows, и HFS из macOS, чтобы совместно использовать эти файлы и принтеры между машинами с Windows и UNIX.

В отличие от SMB, CIFS имеет более широкий функционал – этот протокол способен поддерживать символические и жесткие ссылки, а также файлы больших размеров.

Но сейчас CIFS почти не используется, так как в последних версиях Windows (начиная с версии 8) используются протоколы SMB 2 или SMB 3, которые по сути являются обновленной версией CIFS.

Настройка сети

Первым этапом нужно создать в панели управления все необходимые для этой сети серверы. Затем следует объединение всех машин через панель управления (раздел «Сети») в единую локальную сеть с присвоением каждому серверу локального IP-адреса. После того, как сеть будет создана, нужно провести настройки сетевых адаптеров для каждого сервера.

Настройка сетевого адаптера ОС Centos для Linux проводится так. Подключаемся к виртуальному серверу с правами суперпользователя и выполняем команду:

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

eth0: flags=4163 mtu 1500
inet 5.200.47.73 netmask 255.255.255.0 broadcast 5.200.47.255
inet6 fe80::250:56ff:fe01:29a9 prefixlen 64 scopeid 0x20
ether 00:50:56:01:29:a9 txqueuelen 1000 (Ethernet)
RX packets 760 bytes 57362 (56.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4163 mtu 1500
inet6 fe80::8f6:6de2:ec53:e800 prefixlen 64 scopeid 0x20
ether 00:50:56:01:03:59 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 22 bytes 3580 (3.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1 (Local Loopback)
RX packets 64 bytes 5184 (5.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 64 bytes 5184 (5.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

В настройках сети находим поле MAC, для которого в списке интерфейсов вывелся параметр ether; теперь надо зафиксировать название интерфейса, в этом примере – eth1.

Прежде чем настраивать адаптер в ОС, понадобится уточнить в параметрах сети, была ли выполнена активация для опции DHCP в панели управления рабочей сетью.

Затем перейти в каталог с конфигурационными файлами сетевых интерфейсов:

Скопировать конфигурационный файл существующего интерфейса, указав имя нового интерфейса:

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

Сохраняем изменения.
После всех действий перезапустите сетевые службы сервера, чтобы изменения вступили в силу:

service network restart

Для проверки корректности работы выполните команду ping до другого сервера в частной или публичной сети:

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

  • подключаемся к виртуальному серверу по RDP и открываем Network and Sharing Center. Для этого на рабочем столе Windows выбираем и открываем настройки сетевых подключений. В появившемся окне выбираем требуемый интерфейс, не имеющий доступа к сети. Для проверки состояния этого интерфейса откроем его детализацию (кнопка Details). Затем сравниваем значение поля Physical Address со информацией поля MAC в панели управления;
  • если при создании сети в панели была активирована опция DHСP, то сетевой адаптер настроится автоматически. Уточнить состояние этой опции можно через свойства сети в панели управления;
  • если опция DHCP при создании сети активирована не была, настраивать сеть понадобится вручную. Для этого свойства адаптера открываются через клавишу Properties (выбирается соединение IPv4 и нажимается Properties), затем в появившемся окне в поле IP-address вводится выданный адрес, а в поле Subnet mask – маска подсети. Все значения можно найти в панели в настройках сервера (раздел Сети) или в меню Сеть. После этого все изменения обязательно сохраняются.

Для проверки настроек сетевого адаптера выполняем команду:

Чтобы проверить Windows Server 2016, пинг проводится на другой локальный сервер.

Настройка общей папки в Linux и Windows

Linux

Установка и настройка Samba-сервер для Linux состоит из следующих этапов:

1.Обновления информации о репозиториях и для существующих пакетов в системе:

apt-get update && apt-get upgrade

2.Установки пакета Samba:

apt-get install -y samba samba-client

3.Создания резервной копии файла конфигурации:

cp /etc/samba/smb.conf /etc/samba/smb.conf_sample

4.Создания директории для файлов, так чтобы все пользователи имели к ней доступ:

mkdir -p /samba/public

5.Создания каталога для всех пользователей:

6.Изменения прав доступа к каталогу:

cd /samba
chmod -R 0755 public

Важно! Для смены владельца и/или группы пользуемся командой chown

7.Создания директории для ограниченного круга лиц

8.Создания групп пользователей с применением системных инструментов:

9.Добавления пользователей Samba:

10.Внесения созданных пользователей в группу:

chgrp smbgrp /samba/private

11.Изменения группы, к которой относится приватная директория:

chgrp smbgrp /samba/private

12.Создания с помощью инструментов Samba пароля для добавленного пользователя:

smbpasswd -a user1

13.Редактирования конфигурационного файла samba с помощью текстового редактора:

текстовый редактор /etc/samba/smb.conf

Все строки из файла удаляются, а вместо них вставляются следующие:

[global]
workgroup = WORKGROUP
security = user
map to guest = bad user
wins support = no
dns proxy = no
[public]
path = /samba/public
guest ok = yes
force user = nobody
browsable = yes
writable = yes
[private]
path = /samba/private
valid users = @smbgrp
guest ok = no
browsable = yes
writable = yes

Сохранения введенных строк с использованием комбинации клавиш Ctrl + X, затем с нажатием Y и Enter.

Названия строк при этом обозначают:

  • наименование одной из трех секций конфигурационного файла: global – данная секция отвечает за общие настройки Samba-сервера; public и private – секции, описывающие настройки директорий общего доступа;
  • пять параметров в секции global: workgroup – наименование рабочей группы, security – уровень безопасности сервера с авторизацией по паре логин/пароль при значении user, map to guest — способ обработки запросов с отклонением неправильного пароля даже для существующего пользователя (значение bad user), wins support – включение/выключение поддержки WINS, dns proxy – обеспечение проксирования запросов к DNS;
  • настройки директорий в секциях: path – полный путь до директории на жестком диске, guest ok – возможность доступа к каталогу без пароля (гостевой), force user – пользователь, ведущий работу с каталогом (для безопасности сервера используется значение nobody) , browsable — демонстрация конкретного каталога на сервере; writable – право пользователя при значении “yes” переименовывать, добавлять, удалять, редактировать файлы и перемещать их в каталоги; valid users – список пользователей с предоставленным доступом к каталогу.

14.Проверку настроек проводим командой:

15.Выполняем перезапуск сервера:

service smbd restart
service nmbd restart

Для настройки межсетевого экрана нужно открыть в правилах TCP-порты 139 и 445, а также UDP-порты 137 и 138 (для подсетей с высоким уровнем доверия). Если нужно указать собственный диапазон адресов, значение после ключа “-s” заменяется:

iptables -A INPUT -p tcp -m tcp —dport 445 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp -m tcp —dport 139 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p udp -m udp —dport 137 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p udp -m udp —dport 138 -s 10.0.0.0/24 -j ACCEPT

16.После перезагрузки сервера сохранить правила и применять их поможет пакет iptables-persistent. Для его установки вводится команда:

apt-get install iptables-persistent

Далее понадобится подтверждение запоминаний существующих правил iptables и их проверка:

Настройка общей папки в ОС Windows

Настройки общего доступа к папкам public и private в ОС Windows выполняются аналогично с Linux. Чтобы обеспечить беспарольный доступ к каталогу, настроим ограничения защиты в панели управления:

Панель управления → Сеть → Центр управления сетями и общим доступом → Расширенные настройки общего доступа

В обновленном окне надо открыть раздел “Все сети” и выбрать секцию “Общий доступ с парольной защитой”, после чего отключить этот параметр и сохранить изменения. Доступ к самому каталогу открывается так: кликом по папке правой кнопки мыши разворачивается контекстное меню, в котором выполняются действия:

Свойства → Доступ → Расширенная настройка → Открыть общий доступ к этой папке

В поле “Имя общего ресурса” указывается название, отображаемое для пользователей. После этого кликается кнопка “Разрешения”, выбирается “Все” и устанавливается “Полный доступ”, и все это подтверждается.Затем в свойствах папки public выбирается “Общий доступ”, добавляются все пользователи, делегируются права на чтение и запись, и кликаются кнопки “Поделиться” и “Готово”.

Порядок настройки папки общего доступа для ограниченного числа пользователей будет таким:

  • выбираем “Свойства” папки, открываем вкладку “Доступ” и разворачиваем “Расширенные настройки”;
  • в открывшемся окне выбираем опцию “Открыть общий доступ к этой папке” и нажимаем “Разрешения”;
  • выбираем “Все” в поле “Группы или пользователи” и жмем “Удалить” — это закрывает анонимный доступ к папке;
  • во вновь появившемся окне выполняем следующие действия: “Добавить” → “Дополнительно” → “Поиск” → выбор пользователя, которому нужно предоставить доступ к каталогу. Точно по такой же схеме можно добавить пользователей в составе группы;
  • устанавливаем права доступа (или полного доступа к директории) для выбранных лиц: нажимая “OK” переходим к окну свойств папки, выбираем “Общий доступ”, ищем в поле выбора пользователей и групп и добавляем нужного человека (“Дополнительно” → “Поиск” → установка пользователя двойным кликом);
  • проверяем правильность выбора пользователя, кликаем “OK”, задаем все требуемые уровни разрешений, прожимаем “Поделиться” и “Готово”.

Чтобы подключиться к общим папкам из среды Linux, понадобится установить отдельный пакет ПО — smbclient. Для этого вводим команду:

sudo apt-get install smbclient

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

Эту команду не обязательно вводить каждый раз — для этого монтируем общую директорию как сетевой диск через установку пакета cifs-utils:

sudo apt-get install cifs-utils

и применяем шаблон:

Важно! При подключении к общепользовательским папкам для Windows-сервера в не защищенных паролями директориях устанавливается имя пользователя “Everyone”, для Linux-сервера — “nobody”.

Подключение к общим папкам из среды Windows проводится по иной схеме. Для этого в проводнике или окне запуска программ (Windows + R), применяется шаблон:

Указанный только один IP-адрес сервера выдает список общих папок.

Если при подключении к Windows-серверу всплывает окно с требованием ввода учетной записи, в строку имени пользователя заносится Everyone, а пароль остается пустым.

Подключение к Linux-серверу из ОС Windows выполняется через шаблон или через адрес сервера.

Как создать общий сетевой ресурс в Samba

Создание общего сетевого ресурса в Samba включает этапы:

–формирования директории, которую надо установить общедоступной:

–создания бэкапа для подстраховки:

sudo cp /etc/samba/smb.conf ~

–редактирования файла «/etc/samba/smb.conf»:

sudo nano /etc/samba/smb.conf

–добавления в файл следующих сведений:

–после заполнения файла своими данными сохраняем введенные сведения и перезапускаем Samba:

sudo service smbd restart

–затем проверяем директорию smb.conf наличие неточностей:

–доступ к общему сетевому ресурсу предоставляется так:

sudo apt-get install smbclient
# Просмотр всех общих ресурсов:
smbclient -L /// -U
# Подключение:
smbclient /// -U

Примечание 1: Для подключения к вашему общему сетевому ресурсу задействуйте имя вашего пользователя () и пароль, который располагается в «smb:////»

Стоит запомнить, что «» значение переводится в «[]», иначе говоря, в название общепользовательского ресурса, вписанного вами в «/etc/samba/smb.conf».

Примечание 2: Группа пользователей samba по умолчанию носит название «WORKGROUP».

Собрать сервер

Собери свой сервер, под свои задачи и по минимальной цене!

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *