Запуск 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.






Наш баннер
Вы можете установить наш баннер на своем сайте или блоге, скопировав этот код:
RSS новости