The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

smbd (8)
  • smbd (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • >> smbd (8) ( Русские man: Команды системного администрирования )
  •  

    ИМЯ

    smbd - предоставляет клиентам сервисы SMB (иначе LanManager)  

    ОБЗОР

    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 и запустить его снова.  

    ОПЦИИ

    -D

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

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

    -a

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

    -d уровень_отладки

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

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

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

    -l файл_протоколирования

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

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

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

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

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

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

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

    -O опции_socket'ов

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

    -p номер_порта

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

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

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

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

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

    -s конфигурационный_файл

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

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

     

    ФАЙЛЫ

    /etc/inetd.conf

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

    /etc/rc

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

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

    /etc/services

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

    /usr/local/samba/lib/smb.conf

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

    ОГРАНИЧЕНИЯ

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

     

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

    PRINTER

    Если для сервиса печати не задано имя принтера, то многие системы будут использовать значение этой переменной (или имя "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 есть следующая строка:

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

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

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

    [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, плюс некоторые заплаты. Это замечание дано для того, чтобы вы не удивлялись, если ваша версия программы имеет расширения или какие-либо отличия от того, что здесь описано. Пожалуйста отметьте эти отличии и вышлите нам.

     

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

    hosts_access(5), inetd(8), nmbd(8), smb.conf(5), smbclient(1), testparm(1), testprns(1) rfc1001.txt rfc1002.txt

     

    ДИАГНОСТИКА

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

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

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

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

     

    СИГНАЛЫ

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

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


     

    Index

    ИМЯ
    ОБЗОР
    ОПИСАНИЕ
    ОПЦИИ
    ФАЙЛЫ
    ОГРАНИЧЕНИЯ
    ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ
    УСТАНОВКА
    ЗАПУСК СЕРВЕРА КАК ДЕМОНА
    ЗАПУСК СЕРВЕРА ПО ЗАПРОСУ
    ПРОВЕРА ПРАВИЛЬНОСТИ УСТАНОВКИ
    ВЕРСИЯ
    СМОТРИТЕ ТАКЖЕ
    ДИАГНОСТИКА
    СИГНАЛЫ
    БАГИ
    CREDITS


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру