Перейти к содержимому

Smbd service что это

  • автор:

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) на предмет полного списка участников проекта и подробностей о том, как отсылать сообщения об ошибках, комментарии и т.д.

smbd (SMB daemon)

smbd это сервер, который может предоставлять сервисы SMB . Сервисами являются файловый сервер и сервер печати. Они предоставляются клиентам, которые используют SMB протокол . Этот протокол совместим с протоколом LanManager ( NetBIOS ) и с успехом может применятся клиентами LanManager. Сюда включаются MS Windows, OS/2, DAVE для Macintosh, и smbfs для Linux.

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

-D , —daemon Become a daemon (default)

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

Сервер smbd по-умолчанию работает в режиме демона.
-F , —foreground Run daemon in foreground (for daemontools, etc.)
-S , —log-stdout Log to stdout
-i , —interactive Run interactive (not a daemon)
-h , —help, -?
-V , —version
-b , —build-options
Покажет информацию о том, как была скомпилирована Samba
-d , —debuglevel=DEBUGLEVEL Set debug level

Уровень_отладки это целое число от 0 до 10.Если данная опция не задана, то по умолчанию уровень отладки выставляется в 0.

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

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

Заметим, что этот параметр связан с log level smb.conf.
-l , —log-basename=LOGFILEBASE Base name for log files

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

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

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

log.debug (содержащий отладочную информацию)
log.in (содержит входящие транзакции)
log.out (содержит выходящии транзакции)
log.smbclient, log.smbd
Сгенерированные файлы протоколирования не могут быть удалены клиентом.
-p , —port=STRING Listen on the specified ports
Содержит список TCP-портов, разделенных пробелом или запятой, которые использует сервер smbd.
Значения по умолчанию задаются параметром smb.conf smb ports .
По умолчанию используется 139 порт (SMB -> NetBIOS -> TCP)
и 445 порт (SMB -> TCP)

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

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

Данный параметр обычно не нуждается в изменении, за исключением описанной выше ситуации.
-P , —profiling-level=PROFILE_LEVEL Set profiling level
Задает уровень (в виде числа) профилирования собираемых данных:
0 выкл. профилирование
1 вкл. только счетчик профилирования
2 запускает профилирование
3 сбрасывает все спрофилированные данные
-O опции_socket’ов
Смотрите секцию ОПЦИИ SOCKET’ов в файле smb.conf(5).
-s конфигурационный_файл
По умолчанию имя конфигурационного файла определяется во время компиляции.

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

/etc/ inetd.conf Internet superserver configuration database

в этом файле содержится информация для meta-демона inetd, если сервер smbd запускается в режиме демона

/etc/ rc
или любой другой инициализационный скрипт системы

Если сервер smbd запущен в качестве демона, то в этом файле (скрипте) должны содержаться надлежащие последовательности для запуска сервера smbd

/etc/ services
если smbd-сервер запущен посредством meta-демона inetd, то в этом файле содержится:
[Имя службы] [Порт] [Протокол]
netbios-ssn 139/tcp
/etc/samba/ smb.conf
default конфигурационный файл smbd-севера
Этот файл описывает все службы сервера, которые можно сделать доступными для клиентов
ОГРАНИЧЕНИЯ

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

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

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

УСТАНОВКА

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

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

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

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

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

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

ЗАПУСК СЕРВЕРА КАК ДЕМОНА
Для запуска сервера как демона из командной строки, просто добавьте опцию -D .

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

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

/…/ smbd -D -l
/…/ log -s
/…/ smb.conf

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

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

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

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

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

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

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

Замечание для пользователей 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 в одной строке. В завсимости от характеристик вашего терминала, вы можете неправильно увидеть эту строку на экране)

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

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

Как установить Samba на Ubuntu

В статье мы расскажем, что такое Самба и как его установить на Ubuntu.

Что такое Samba

Samba — это пакет программ, который используется для работы с популярными ОС: Windows, Linux, а также с другими UNIX-подобными системами. Это ПО будет полезно, если вы хотите создать файловый сервер с доступом из нескольких операционных систем: например, можно сделать общую папку для обмена файлами между реальным компьютером и виртуальным сервером. Samba включает в себя клиентскую (smbclient) и серверную (smbserver) части, а также использует для работы протокол SMB.

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

Ниже мы опишем полную процедуру установки и настройки Samba на ОС Ubuntu. Она включает в себя три обязательных этапа:

  1. Установка Samba.
  2. Настройка Samba.
  3. Монтирование общей директории как образа диска.

Установка Samba на сервер

Подключитесь к серверу по SSH.
Обновите пакеты. Для этого поочередно выполните команды:

sudo apt update sudo apt upgrade

Установите Samba:

sudo apt install samba -y

Добавьте Самба в автозагрузку:

sudo systemctl enable smbd

Запустите службу:

sudo systemctl start smbd

Проверьте статус службы Samba:

sudo systemctl status smbd

После этого на экране появится вывод:

● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2023-01-01 00:00:00 UTC; 15s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 12345 (smbd) Status: "smbd: ready to serve connections. " Tasks: 4 (limit: 1105) Memory: 7.2M CGroup: /system.slice/smbd.service ├─12345 /usr/sbin/smbd --foreground --no-process-group ├─12346 /usr/sbin/smbd --foreground --no-process-group ├─12347 /usr/sbin/smbd --foreground --no-process-group └─12348 /usr/sbin/smbd --foreground --no-process-group Jan 01 00:00:00 apachi systemd[1]: Starting Samba SMB Daemon. Jan 01 00:00:10 apachi systemd[1]: Started Samba SMB Daemon. Jan 01 00:00:20 apachi systemd[1]: Reloading Samba SMB Daemon. Jan 01 00:00:30 apachi systemd[1]: Reloaded Samba SMB Daemon.

Добавьте разрешающее правило для брандмауэра:

sudo ufw allow samba

Готово, теперь переходите к настройке Samba.

Настройка Samba

Подготовка конфигурационного файла

Подключитесь к серверу по SSH.

Создайте копию конфигурационного файла — она пригодится, если потребуется откат до стандартных настроек:

sudo cp /etc/samba/smb.conf /etc/samba/res_smb.conf

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

grep -v '^ *#\|^ *$' /etc/samba/smb.conf | sudo tee /etc/samba/smb.conf

После этого файл конфигурации будет иметь следующий вид:

[global] workgroup = WORKGROUP server string = %h server (Samba, Ubuntu) log file = /var/log/samba/log.%m max log size = 1000 logging = file panic action = /usr/share/samba/panic-action %d server role = standalone server obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no

Проверьте корректность заполнения файла с помощью команды:

testparm

Если конфигурация не содержит ошибок, вывод будет иметь следующий вид:

Load smb config files from /etc/samba/smb.conf Loaded services file OK. Weak crypto is allowed Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parameters [global] log file = /var/log/samba/log.%m logging = file map to guest = Bad User max log size = 1000 obey pam restrictions = Yes pam password change = Yes panic action = /usr/share/samba/panic-action %d passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . passwd program = /usr/bin/passwd %u server role = standalone server server string = %h server (Samba, Ubuntu) unix password sync = Yes usershare allow guests = Yes idmap config * : backend = tdb [printers] browseable = No comment = All Printers create mask = 0700 path = /var/spool/samba printable = Yes [print$] comment = Printer Drivers path = /var/lib/samba/printers

Готово, вы настроили конфигурационный файл.

Smbd service что это

Сетевые файловые системы высокой степени доступности является одним из самых эффективным применением кластера. Использование служб Samba высокой степени доступности даёт следующие преимущества:

Возможность предоставления в общий доступ файлов для клиентов Microsoft® Windows™ с использованием протокола CIFS/SMB.

Позволяет и Windows и NFS клиентам одновременно работать с одним набором файловых систем.

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

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

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

Полное рассмотрение конфигурации Samba выходит за рамки этого документа. Поэтому в этом руководстве выделены только основные аспекты использования этой службы в кластере. Обратитесь к Официальному руководству по настройке Red Hat Linux за дополнительными подробностями о настройке Samba. Кроме этого, за дополнительной информацией о Samba обратитесь по адресу http://www.redhat.com/support/resources/print_file/samba.html . Для настройки службы Samba высокой степени доступности необходимо понимать как настраивается обычные, не кластерные службы Samba.

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

Должны быть установлены пакеты Samba RPM. Система Red Hat Enterprise Linux AS поставляется со следующими пакетами, связанными со службой Samba: samba и samba-common . Заметьте, никаких дополнительных изменений пакетов Samba RPM для поддержки высокой степени доступности не требуется.

Демоны Samba будут запускаться и останавливаться программным обеспечением кластера на основе служб. Поэтому, информация о конфигурации Samba не должна указываться в стандартном файле /etc/samba/smb.conf . Автоматический запуск демонов Samba smbd и nmbd должен быть отключен в уровнях выполнения init.d . Например: chkconfig —del smb .

Так как инфрастуктура кластера останавливает соответствующие демоны Samba, системные администраторы не должны вручную запускать стандартный сценарий остановки samba (например, service smb stop ) так при этом будут остановлены все демоны, связанные с кластером.

Подключения файловых систем, используемых службами Samba не должны описываться в файле /etc/fstab . В кластерных службах подключения файловых систем задаются в утилите cluadmin .

Перенос общих принтеров Samba в данный момент не поддерживается.

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

В обычной, не кластерной конфигурации Samba управление службой осуществляется с помощью файла /etc/samba/smb.conf , в котором описываются файловые системы, доступные определенным Windows-клиентам. В нем также описываются права доступа и другие параметры подключения общих ресурсов. В модели с одним сервером, один экземпляр демонов smbd и nmbd автоматически запускается сценарием уровня выполнения /etc/rc.d/init.d/smb .

Чтобы реализовать службы Samba высокой степени доступности, вместо одного файла /etc/samba/smb.conf каждая службы Samba использует свой файл конфигурации. Эти файлы носят названия /etc/samba/smb.conf. sharename ; где sharename — имя определенного ресурса, предоставляемого службой Samba. Например, если один общий ресурс называется eng а другой ресурс — acct , файлы конфигурации Samba будут иметь названия /etc/samba/smb.conf. eng и /etc/samba/smb.conf. acct , соответственно.

Формат файла smb.conf. sharename идентичен формату стандартного файла smb.conf . Никаких дополнительных полей для работы службы в кластере не создаётся. В файле smb.conf. sharename необходимо определить некоторые параметры, которые потребуются для корректной работы кластера, они будут описаны в следующем разделе. Когда с помощью утилиты cluadmin добавляется новая служба Samba, автоматически создается шаблон файла smb.conf. sharename на основе заданных параметров службы. Этот файл затем может использоваться как исходная точка; впоследствии администратор может добавлять в него клиентов Windows, определенные каталоги для общего доступа, а также разрешения.

Системный администратор должен скопировать полученный файл /etc/samba/smb.conf. sharename на каждый узел кластера. После внесения любых изменений файла smb.conf. sharename , сделанных после первоначальной конфигурации, также необходимо скопировать этот файл на другой узел кластера.

Для повышения степени доступности Samba, каждая отдельная служба Samba в кластере настраивается (в cluadmin ) со своей собственной парой демонов smbd / nmbd . Поэтому, если в кластере настроено несколько служб Samba, на отдельном узле кластера вы можете увидеть несколько экземпляров этих пар демонов. Демоны Samba smbd / nmbd не запускаются стандартными сценариями уровня выполнения init.d ; их запускает кластерное программное обеспечение на работающем, исполняющим службу, узле.

Чтобы один узел мог выполнять несколько экземпляров демонов Samba, каждой паре демонов требуется отдельный каталог блокировок. Поэтому, для каждой службы Samba определяется свой каталог блокировок демона. Этот каталог носит название /var/cache/samba/ sharename ; где sharename заменяется именем общего ресурса Samba, указанного при конфигурации службы (в cluadmin ). Для приведенного выше примера, соответствующие каталоги блокировок будут называться /var/cache/samba/ eng и /var/cache/samba/ acct .

Когда служба Samba настраивается с помощью утилиты cluadmin , каталог /var/cache/samba/ sharename автоматически создаётся утилитой cluadmin . При этом появляется сообщение о необходимости вручную создать такой каталог блокировок на другом узле кластера. Например: mkdir /var/cache/samba/ eng

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

Service Name (Название службы) — Имя, используемое для обозначения службы в кластере.

Preferred Member — Имя системы, которая будет выполнять роль сервера Samba этой службы, если в кластере работают несколько узлов.

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

Status Check Interval (Интервал проверки состояния) — определяет как часто (в секундах) подсистема кластера должна проверять, работает ли пара демонов Samba smbd / nmbd , связанных со службой. Если один из этих демонов неожиданно прекращает работу, он будет автоматически перезапущен для продолжения работы службы. Если указано значение, равное 0, наблюдение за службой не будет производиться. Если значение этого параметра равно 90, с промежутком в 90 секунд будет происходить опрос состояния служб.

IP Address (IP адрес) — Windows-клиенты будут обращаться к общим ресурсам сервера, используя этот адрес (или связанное с ним имя компьютера). Чтобы Windows-клиенты не зависели от того, какой из узлов кластера в данный момент исполняет роль NFS сервера, для обращения к службе они не должны использовать имя узла кластера. Вместо этого, кластерным службам Samba назначаются плавающие IP адреса, отличные от IP адресов узлов кластера. Этот плавающий IP адрес присваивается узлу, который действительно в данный момент предоставляет общий доступ к ресурсу. При таком подходе, Windows-клиенты могут знать о существовании только плавающего IP адреса, и не зависеть от перемещений службы от одного узла к другому. Задавая IP адрес службы Samba, администратор также может определить маску сети и адрес широковещательной рассылки. Если будет указано None (Отсутствует) (по умолчанию предлагается это значение), в качестве маски сети и широковещательного адреса будут применены параметры настройки сетевого интерфейса.

Mount Information (Информация о подключениях) — информация о подключениях не кластерных файловых систем обычно находится в файле /etc/fstab . Напротив, кластерные файловые системы не следует описывать в файле /etc/fstab . Таким образом гарантируется, что файловая система будет подключена только на одном узле кластера. Нарушение этого правила приводит к разрушению файловой системы и отказу системы в целом.

Device special file (Специальный файл устройства) — Специальный файл дискового устройства, файловая система которого будет подключена. Вы должны определить этот параметр в ходе настройки службы Samba.

Mount point directory (Каталог подключения) — служба Samba может подключать больше одной файловой системы. В таком случае, файловые системы будут объединены в одну переносимую группу.

Mount options (Параметры подключения) — Параметры, задаваемые при подключении.

Forced unmount (Принудительное отключение) — Этот параметр определяет, будет ли разрешено принудительное отключение файловых систем. Если принудительное отключение разрешено, и какие-либо приложения, работающие в кластерной системе, используют эту файловую систему при отключении или перемещении службы, перед выполнением отключения файловой системы такие приложения будут завершены в принудительном порядке.

Export Information (Информация об экспортах) — эта информация требуется только для служб NFS. Если вы настраиваете файловый сервер только для Windows-клиентов, ответьте отрицательно (no) на вопрос о предоставлении NFS доступа. Напротив, вы можете настроить службу для предоставления разнородного доступа к ресурсам, определив параметры как экспорта NFS, так и общего ресурса Samba.

Samba Share Name (Имя общего ресурса Samba) — В процессе настройки службы вам будет предложено предоставить файловую систему для общего пользования Windows-клиентами. Если вы ответите на этот вопрос положительно, затем вы должны определить имя общего ресурса Samba. От введенного здесь имени будет зависеть название файла конфигурации /etc/samba/smb.conf. sharename и каталога блокировок /var/cache/samba/ sharename . По принятому соглашению, имя общего ресурса Windows, указанного в файле smb.conf. sharename также будет соответствовать этому значению. На практике в отдельном файле smb.conf. sharename вы можете описать несколько общих ресурсов Samba. Для каждого устройства может быть определена максимум одна конфигурация Samba; она должна быть указана с первым устройством. Например, если одна служба использует несколько дисковых устройств (и соответствующих точек подключения) , укажите для службы одно имя sharename . Затем, в файле /etc/samba/smb.conf. sharename , опишите отдельные общие ресурсы Samba и соответствующие каталоги различных устройства. Чтобы отключить доступ к службе samba, установите для этого параметра значение None .

Настраивая службы Samba с помощью утилиты cluadmin :

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

Во многих приглашениях утилиты, с помощью команды [?] вы можете получить справку о текущем параметре.

Настроив службу Samba с помощью cluadmin , не забудьте настроить файл /etc/samba/smb.conf. sharename для каждой службы в соответствии с выбранной схемой авторизации.

Не забудьте также скопировать файл smb.conf. sharename на другой узел кластера.

Рекомендуется предварительно создать каталог блокировок демона Samba на другом узле кластера, например, так: mkdir /var/cache/samba/ acct .

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

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

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

Service Name (Название службы) — samba_acct . Название службы выбрано исходя из предназначения службы — предоставлять общий доступ Samba работникам бухгалтерии.

Preferred Member (Предпочитаемый узел) — clu4 . В этом примере кластера узлы имеют имена clu3 и clu4.

User Script (Пользовательский сценарий) — Программное обеспечение кластера имеет встроенную поддержку служб Samba. В связи с этим, при настройке службы Samba нет необходимости создавать такой сценарий. Поэтому для параметра User Script устанавливается значение по умолчанию: None (Отсутствует) .

Monitoring Interval (Интервал наблюдения) — 90 секунд.

IP Address (IP адрес) — 10.0.0.10 . По имени компьютера cluacct, связанному с этим IP адресом, Windows-клиенты будут обращаться при подключении файловых систем. Заметьте, этот IP отличается от адресов узлов кластера (clu3 и clu4). В качестве маски сети и широковещательного адреса будут использованы значения по умолчанию.

Mount Information (Информация о подключении) — /dev/sdb10 , имя раздела на общем RAID-хранилище, где физически располагается файловая система. ext2 — тип подключаемой файловой системы. /mnt/users/accounting — точка подключения файловой системы. rw , nosuid , sync — параметры подключения.

Export Information (Информация об экспорте) — для упрощения, в этом примере для файловой системы не определяется NFS экспорт.

Share Name — acct . Это имя ресурса Samba, к которому будут подключаться Windows-клиенты, например так: \\10.0.0.10\acct .

Ниже приведена часть файла /etc/hosts , в котором описаны IP адреса и связанные имена компьютеров, используемых в кластере.

10.0.0.3 clu3 # cluster member 10.0.0.4 clu4 # second cluster member 10.0.0.10 cluacct # floating IP address associated with accounting team NFS service

Ниже приведен настройки в утилите cluadmin службы Samba с описанными выше параметрами:

Service name: samba_acct Preferred member [None]: clu4 Relocate when the preferred member joins the cluster (yes/no/?) [no]: yes User script (e.g., /usr/foo/script or None) [None]: Status check interval [0]: 90 Do you want to add an IP address to the service (yes/no/?) [no]: yes IP Address Information IP address: 10.0.0.10 Netmask (e.g. 255.255.255.0 or None) [None]: Broadcast (e.g. X.Y.Z.255 or None) [None]: Do you want to (a)dd, (m)odify, (d)elete or (s)how an IP address, or are you (f)inished adding IP addresses [f]: Do you want to add a disk device to the service (yes/no/?) [no]: yes Disk Device Information Device special file (e.g., /dev/sdb4): /dev/sdb12 Filesystem type (e.g., ext2, ext3 or None): ext2 Mount point (e.g., /usr/mnt/service1) [None]: /mnt/users/accounting Mount options (e.g., rw,nosuid,sync): rw,nosuid,sync Forced unmount support (yes/no/?) [yes]: Would you like to allow NFS access to this filesystem (yes/no/?)\ [no]: no Would you like to share to Windows clients (yes/no/?) [no]: yes You will now be prompted for the Samba configuration: Samba share name: acct The samba config file /etc/samba/smb.conf.acct does not exist. Would you like a default config file created (yes/no/?) [no]: yes Successfully created daemon lock directory /var/cache/samba/acct. Please run `mkdir /var/cache/samba/acct` on the other cluster member. Successfully created /etc/samba/smb.conf.acct. Please remember to make necessary customizations and then copy the file over to the other cluster member. Do you want to (a)dd, (m)odify, (d)elete or (s)how DEVICES, or are you (f)inished adding DEVICES [f]: f name: samba_acct preferred node: clu4 relocate: yes user script: None monitor interval: 90 IP address 0: 10.0.0.10 netmask 0: None broadcast 0: None device 0: /dev/sdb12 mount point, device 0: /mnt/users/accounting mount fstype, device 0: ext2 mount options, device 0: rw,nosuid,sync force unmount, device 0: yes samba share, device 0: acct Add samba_acct service as shown? (yes/no/?) yes

После настройки службы, выполненной с помощью cluadmin, как показано выше, не забудьте:

Отредактировать в соответствии с требованиями файл /etc/samba/smb.conf. sharename .

Скопировать файл /etc/samba/smb.conf. sharename на другой узел кластера.

Создать каталог блокировок на другом узле кластера, например mkdir /var/cache/samba/ acct

В этом разделе описаны поля файла smb.conf. sharename , которые влияют на корректную работу служб Samba высокой степени доступности. Полное описание всех параметров файла конфигурации Samba выходит за рамки этого документа. Для поддержки кластера никаких дополнительных полей добавлено не было, формат файла также соответствует соглашениям Samba.

Ниже показан пример файла smb.conf. sharename , автоматически сгенерированного утилитой cluadmin для службы с указанными с параметрами. Этот пример соответствует настройке службе, выполненной с помощью cluadmin выше.

# Template samba service configuration file — please modify to specify # subdirectories and client access permissions. # Remember to copy this file over to other cluster member, and create # the daemon lock directory /var/cache/samba/acct. # # From a cluster perspective, the key fields are: # lock directory — must be unique per samba service. # bind interfaces only — must be present set to yes. # interfaces — must be set to service floating IP address. # path — must be the service mountpoint or subdirectory thereof. # Refer to the cluster documentation for details. [global] workgroup = RHCLUSTER lock directory = /var/cache/samba/acct log file = /var/log/samba/%m.log encrypt passwords = yes bind interfaces only = yes interfaces = 10.0.0.10 [acct] comment = High Availability Samba Service browsable = yes writable = no public = yes path = /mnt/service12

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

Глобальные параметры

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

lock directory (каталог блокировок)

Указывает имя каталога, в котором демоны Samba smbd / nmbd будут размещать свои файлы блокировок. Оно должно быть равно /var/cache/samba/ sharename , где sharename может меняться в зависимости от параметра, заданного в cluadmin . Этот каталог необходимо определить для работы на одном узле нескольких экземпляров демонов smbd / nmbd разных служб.

bind interfaces only (привязывать только к интерфейсам)

Этот параметр должен равен yes (да) чтобы каждая пара служб smbd / nmbd привязывалась к плавающему IP адресу, связанному с кластерной службой Samba.

Укажите IP адрес, связанный со службой Samba. Если указывается сетевая маска службы, это поле выглядит следующим образом: interfaces = 10.0.0.10/255.255.254.0

Специальные параметры общего ресурса

Эти параметры относятся к определенному разделу Samba.

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

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

Windows-клиенты не требуют дополнительной настройки для использования общих ресурсов предоставляемых кластером высокой степени доступности. Единственным требованием при подключении Windows-клиентов является использование для доступа к общему ресурсу Samba плавающего IP адреса (или связанного имени компьютера), определенного в cluadmin , например 10.0.0.10. Windows-клиенты не должны обращаться к ресурсу по адресу одного из узлов кластера (например, clu3 или clu4).

В зависимости от используемой в окружении кластера схемы проверки подлинности, для определения учетных записей Windows-пользователей в кластерных системах может понадобиться команда smbpasswd . При создании этих учетных записей, необходимо, чтобы информация, связанная с учетными записями Samba была синхронизирована на обоих узлах кластера. Добиться этого можно, либо запустив утилиту smbpassword на каждом узле кластера, либо выполнив эту команду в одной системе и скопировав полученный файл /etc/samba/smbpasswd в другую. Например, чтобы разрешить подключение к общему ресурсу Samba, обслуживаемому кластером, Windows-клиенту sarge , необходимо выполнить следующую команду на обоих узлах кластера, определяя каждый раз одно и то же имя пользователя и пароль:

smbpasswd -a sarge

После этого Windows-клиент может обращаться к общему ресурсу Samba обычным способом. Например, можно нажать кнопку Start (Пуск) на панели задач, выбрав затем Run (Выполнить) . При этом на экране появляется диалоговое окно, в котором можно указать имя кластерного общего ресурса Samba. Например: \\10.0.0.10\acct или \\cluacct\acct . Для подключения общего ресурса Samba Windows-клиент может также выполнить операцию Map Network Drive (Подключить сетевой диск) . Убедитесь в том, что в имени ресурса указывается имя компьютера, соответствующее плавающему IP-адресу службы. Согласно приведенной выше выдержке из файла /etc/hosts ; правильным именем этого ресурса высокой степени доступности будет \\cluacct\acct . Обращение к этому ресурсу не должно производиться по имени узла кластера. Например, не обращайтесь к ресурсу по имени \\clu3\acct или \\clu4\acct . Если вы обратились к ресурсу по имени узла кластера (например \\clu3\acct ), Windows-клиенты смогут получать доступ к этому ресурсу, только если он действительно обслуживается узлом clu3 , таким образом вы теряете высокую степень доступности ресурса.

В отличие от протокола NFS, применяемый в Windows протокол CIFS/SMB использует больше состояний. Как следствие, в Windows-окружении, каждое отдельное приложение должно соответствующим образом реагировать на отсутствие немедленного ответа от сервера Samba. В случае запланированного перемещения службы или неожиданного сбоя, в течении некоторого времени клиенты Windows не будут получать ответа от сервера Samba. Разработанные корректно приложения Windows будут обращаться к ресурсу повторно в течении этого интервала.

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

Поведение Windows-клиентов в ответ на сбой или перемещение службы samba также зависит от версии системы Windows, установленной на клиентском компьютере. Например, операционные системы, основанные на версии Windows 98 часто выдают ошибку, например, такую, «The network path was not found (Сетевой путь указан неверно)». Тогда как более поздние версии, такие как Windows 2000, при тех же обстоятельствах продолжают работать.

Назад Начало Вперед
Сетевые службы общего доступа к файлам Вверх Службы Apache

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

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