Библиотека сайта rus-linux.net
Серверы Linux. Часть VI. Знакомство с сервером Samba
Оригинал: Introduction to sambaАвтор: Paul Cobbaut
Дата публикации: 24 мая 2015 г.
Перевод: A.Панин
Дата перевода: 13 июля 2015 г.
Глава 9. Вводная информация о сервере Samba
В данной главе приводится краткое описание сервера Samba, освещается методика установки программных компонентов сервера Samba версии 3, а также кратко описываются история создания и особенности протокола SMB.
9.1. Проверка версии установленных программных компонентов
9.1.1. Дистрибутивы, использующие пакеты программного обеспечения формата RPM
Для того, чтобы получить информацию о версии установленных программных компонентов сервера Samba в дистрибутиве Red Hat, Fedora или CentOS следует использовать команду rpm -q samba
.
[root@RHEL52 ~]# rpm -q samba samba-3.0.28-1.el5_2.1
В примере выше показано, что в процессе установки дистрибутива RHEL5 были установлены программные компоненты сервера Samba
версии 3.0. Последнее число в номере версии пакета программного обеспечения Samba предназначено для подсчета номера обновления или исправления пакета.
Ниже приведен вывод той же команды в более новой версии дистрибутива CentOS, в составе которого поставляется сервер Samba версии 3.5.
[root@centos6 ~]# rpm -q samba samba-3.5.10-116.el6_2.i686
9.1.2. Дистрибутивы, использующие пакеты программного обеспечения формата DEB
В дистрибутиве Debian или Ubuntu следует использовать команду dpkg -l
или aptitude show
. Как в дистрибутиве Debian 7.0 (Wheezy), так и в дистрибутиве Ubuntu 12.04 (Precise) используется версия 3.6.3 сервера Samba.
root@debian7~# aptitude show samba | grep Version Version: 2:3.6.3-1
В данный момент в дистрибутиве Ubuntu 12.04 используется версия 3.6.3 сервера Samba.
root@ubu1204:~# dpkg -l samba | tail -1 ii samba 2:3.6.3-2ubuntu2.1 SMB/CIFS file, print, and login server for Unix
9.2. Установка программных компонентов сервера Samba
9.2.1. Дистрибутивы, использующие пакеты программного обеспечения формата RPM
Сервер Samba устанавливается по умолчанию при установке дистрибутива Red Hat Enterprise Linux. В том случае, если сервер Samba по какой-либо причине не был установлен, вы можете использовать меню окружения рабочего стола (Приложения - Системные параметры - Установка/Удаление приложений) и выбрать пункт "Файловый сервер Windows" в разделе "Серверы". При отсутствии окружения рабочего стола следует использовать утилиты rpm
и yum
.
После того, как вы загрузили файл пакета программного обеспечения с расширением .rpm, вы можете установить программные компоненты сервера Samba следующим образом:
[paul@RHEL52 ~]$ rpm -i samba-3.0.28-1.el5_2.1.rpm
В том случае, если вы являетесь клиентом компании Red Hat и обладаете подпиской RHN (Red Hat Network), вы можете упростить задачу, воспользовавшись утилитой yum
. Следующая команда на основе утилиты yum
также корректно исполняется в бесплатных дистрибутивах Fedora и CentOS.
[root@centos6 ~]# yum install samba
9.2.2. Дистрибутивы, использующие пакеты программного обеспечения формата DEB
Пользователи дистрибутивов Ubuntu и Debian могут использовать утилиту aptitude
(или приложение с графическим интерфейсом, такое, как менеджер пакетов программного обеспечения Synaptic).
root@debian7~# aptitude install samba НОВЫЕ пакеты, которые будут установлены: samba samba-common{a} samba-common-bin{a} tdb-tools{a} обновлено 0, установлено 4 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено. Необходимо скачать 15.1 MB архивов. После данной операции, объём занятого дискового пространства возрастёт на 42.9 MB. Хотите продолжить [Д/н]? ...
9.3. Документация
9.3.1. Руководства от проекта Samba
Сервер Samba поставляется с отличной документацией в форматах HTML и PDF (которая также может быть загружена с ресурса samba.org или приобретена в печатном варианте).
В дистрибутиве Red Hat/Fedora/CentOS документация отделена от программных компонентов сервера Samba и находится в отдельном пакете программного обеспечения, поэтому в случае необходимости чтения документации в процессе настройки сервера вы можете просто установить соответствующий пакет программного обеспечения.
[root@centos6 ~]# yum install samba-doc ... [root@centos6 ~]# ls -l /usr/share/doc/samba-doc-3.5.10/ итого 10916 drwxr-xr-x. 6 root root 4096 май 6 15:50 htmldocs -rw-r--r--. 1 root root 4605496 июн 14 2011 Samba3-ByExample.pdf -rw-r--r--. 1 root root 608260 июн 14 2011 Samba3-Developers-Guide.pdf -rw-r--r--. 1 root root 5954602 июн 14 2011 Samba3-HOWTO.pdf
В дистрибутивах Debian и Ubuntu используется аналогичный подход, единственное отличие которого состоит в том, что файлы документации формата PDF находятся в отдельном пакете программного обеспечения с именем samba-doc-pdf
.
root@ubu1204:~# aptitude install samba-doc-pdf НОВЫЕ пакеты, которые будут установлены: samba-doc-pdf ...
9.3.2. Samba в примерах
Помимо документации проекта Samba существует отличная книга под названием "Samba в примерах"
(англоязычное название "Samba By Example"
; книга также доступна для покупки в печатном варианте и для бесплатной загрузки в форматах PDF и HTML).
9.4. Запуск и остановка демонов Samba
Вы можете инициировать запуск демонов Samba с помощью команды /etc/init.d/smb start
в любом дистрибутиве Linux (в некоторых системах используется сценарий /etc/init.d/samba
).
root@laika:~# /etc/init.d/samba stop * Stopping Samba daemons [ OK ] root@laika:~# /etc/init.d/samba start * Starting Samba daemons [ OK ] root@laika:~# /etc/init.d/samba restart * Stopping Samba daemons [ OK ] * Starting Samba daemons [ OK ] root@laika:~# /etc/init.d/samba status * SMBD is running
В дистрибутивах на основе дистрибутива Red Hat для запуска демонов Samba может использоваться удобная команда service smb start
.
[root@RHEL4b ~]# /etc/init.d/smb start Starting SMB services: [ OK ] Starting NMB services: [ OK ] [root@RHEL4b ~]# service smb restart Shutting down SMB services: [ OK ] Shutting down NMB services: [ OK ] Starting SMB services: [ OK ] Starting NMB services: [ OK ] [root@RHEL4b ~]#
9.5. Демоны Samba
Комплект поставки Samba 3 включает три демона с именами nmbd
, smbd
и winbindd
.
9.5.1. Демон nmbd
Демон nmbd
ведет учет всех имен систем и реализует механизм обслуживания этих имен. Он занимается регистрацией и разрешением имен систем, а также задействуется в процессе обзора сети. В соответствии с документацией от проекта Samba, данный демон должен запускаться в первую очередь.
[root@RHEL52 ~]# ps -C nmbd PID TTY TIME CMD 5681 ? 00:00:00 nmbd
9.5.2. Демон smbd
Демон smbd
управляет операциями передачи файлов и аутентификации.
[root@RHEL52 ~]# ps -C smbd PID TTY TIME CMD 5678 ? 00:00:00 smbd 5683 ? 00:00:00 smbd
9.5.3. Демон winbindd
Демон winbind
(winbindd) является единственным демоном, который после запуска занимается обслуживаем механизма членства в домене, применяемого в ОС Windows компании Microsoft.
Обратите внимание на то, что демон winbindd
запускается с помощью сценария /etc/init.d/winbind
(в имени демона используются две буквы d, в имени сценария - одна буква d).
[root@RHEL52 ~]# /etc/init.d/winbind start Starting Winbind services: [ OK ] [root@RHEL52 ~]# ps -C winbindd PID TTY TIME CMD 5752 ? 00:00:00 winbindd 5754 ? 00:00:00 winbindd
В дистрибутивах Debian и Ubuntu демон winbindd устанавливается из отдельного пакета программного обеспечения с именем winbind
.
9.6. Протокол SMB
9.6.1. Краткий экскурс в историю протокола
Разработка рассматриваемого протокола была начата в начале восьмидесятых годов сотрудниками компании IBM
. К концу восьмидесятых годов инициатива по разработке протокола перешла к сотрудникам компании Microsoft
. SMB является протоколом прикладного уровня, спроектированным для работы поверх стека протоколов NetBIOS/NetBEUI, но также может работать поверх стека протоколов TCP/IP.
В 1996 году компанией Microsoft была предпринята попытка документирования рассматриваемого протокола. В результате в качестве черновика стандарта были опубликованы спецификации протокола CIFS (Common Internet File System - Единая файловая система для Интернет), которые так и не приобрели статуса официального стандарта RFC.
В 2004 году чиновники Европейского союза приняли решение, обязывающее компанию Microsoft документировать протокол для того, чтобы сторонние разработчики имели возможность создания совместимых программных решений. 20 декабря 2007 года с компанией Microsoft было достигнуто соответствующее соглашение. На сегодняшний день команда разработчиков проекта Samba имеет доступ к документации, относящейся к SMB/CIFS, Windows for Workgroups и Active Directory.
9.6.2. Широковещательный протокол
Протокол SMB использует протокол обнаружения сетевых служб NetBIOS
, который является широковещательным. Это означает, что имена систем в рамках сети, использующей протокол NetBIOS, должны быть уникальными (даже в том случае, если IP-адреса систем различны). Использование дубликатов имен систем в сети, построенной с использованием протокола SMB, может оказать крайне негативное влияние на процесс передачи данных.
9.6.3. Имена систем в рамках протокола NetBIOS
Имена систем в рамках протокола NetBIOS аналогичны именам узлов
, но всегда записываются в верхнем регистре и имеют ограничение длины в 15 символов. Компьютеры, работающие под управлением ОС Microsoft Windows или использующие сервер Samba будут передавать информацию об именах систем в сеть.
9.6.4. Пропускная способность сети
При наличии в вашей сети множества компьютеров, осуществляющих широковещательную передачу в сеть информации о своих именах по протоколу SMB/CIFS, могут возникнуть проблемы с пропускной способностью сети. Решение описанной проблемы может заключаться в использовании сервера имен NetBIOS
(NetBIOS Name Server
, NBNS
), такого, как Служба имен Windows Internet (Windows Internet Naming Service).
9.7. Практическое задание: вводная информация о сервере Samba
-
0. Убедитесь в том, что вы знаете свой номер студента, так как имя вашей системы должно в любом случае содержать этот номер!
-
1. Проверьте возможность входа в систему Linux/Unix, установленную на компьютере. После успешного входа в систему запишите имя и IP-адрес компьютера.
-
2. Сделайте то же самое со всеми другими системами (запущенными в виртуальных машинах), которые вам доступны.
-
3. Проверьте работоспособность сети с помощью утилиты ping и отредактируйте соответствующие файлы /etc/hosts для того, чтобы получить возможность использования имен компьютеров вместо их IP-адресов. Проверьте корректность указания имен компьютеров с помощью утилиты ping.
-
4. Убедитесь в том, что программные компоненты сервера Samba установлены в системе, после чего запишите версию сервера Samba.
-
5. Откройте файл формата PDF официального руководства от проекта Samba, установленный на вашем компьютере. Сколько страниц формата A4 содержит данный файл? После этого рассмотрите регулярно обновляющийся файл формата PDF с тем же именем с ресурса samba.org.
-
6. Остановите сервер Samba.
Предыдущий раздел: | Оглавление | Следующий раздел: |
8.4. Практическое задание: фильтрация сетевых пакетов | Глава 10. Начало работы с сервером Samba |