• Категории
  • Подписка
  • Разместить статью
11/10/10 8 6621 Программный пакет Samba
-

Samba: установка, настройка, оптимизация работы

Linux — отличная операционная система, но от Windows мы не куда не денемся и он от нас тоже. Win­dows будет окружать нас всегда — будь то домашняя, корпоративная сеть или интернет-кафе. Нам постоянно предстоит обмениваться документами с Windows-компьютерами — ведь далеко не все пользователи предпочитают работать в Linux. Имея в своем распоряжении сервер на Linux, в любом случае возникнет необходимость взаимодейст­вия с Windows-компьютерами, поэтому речь и пойдет о подключении Linux к сети Microsoft.

Установка Samba

Для установки Samba нам нужно установить пакеты samba и samba-client. Желательно также установить пакет smbfs. Кроме того, система поставит на обновление пакет samba-common, который возможно уже установлен в системе. Все мои манипуляции будут проводится на Ubuntu 10.04, основные отличия от других дистрибутивов – это способ установки. Для Ubuntu через консоль, таким образом:

$ sudo aptget install samba

Или используя менеджер пакетов Synaptic, что я и сделал, такой вариант оказался более удобным для меня, поскольку можно было выбрать из списка те пакеты, которые мне нужны, это были:

  • samba

  • smbclient

  • samba-common

Если вы когда-то использовали другой дистрибутив Linux, то наверняка знакомы с программой LinNeighborhood. Это графическая программа, которая позволяет просматривать ресурсы Windows-сети. В Ubuntu в ней нет никакой необходимости. Во-первых, штатные средства GNOME позволяют просматривать Windows-сети. А во-вторых, ради интереса было установлено программу LinNeighborhood с одного из репозиториев Ubuntu. Выяснилось, что эта программа, найденная Synaptic, вообще не при­годна к использованию (проблемы с локализацией). Ну и ладно, смысл разбираться, если есть отличные стандартные средства, которые уже работают.

Базовая настройка Samba

На этом этапе будем считать, что утилита установлена. Основной конфигурационный файл Samba — /etc/samba/smb.conf. Его необходимо открыть и изменить несколько параметров. Первый это workgroup — он задает имя (на Ваш выбор) рабочей группы или домена NT:

WORKGROUP = MyHomeGroup

Можете также уста­новить параметр comment — это описание вашего компьютера:

comment = My Linux computer

Установите параметр security. Если сеть клиент/сервер, то нужно вы­брать параметр server, а если одноранговая сеть (т. е. сеть без выде­ленного сервера), то нужно выбрать user или share:

security = share

Имя гостевой учетной записи установите так:

guest account = guest

Также нужно настроить кодировки:

client code page = 866

character set = utf8

Для того чтобы Samba работал быстрее, установите следующие опции:

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

dns proxy = no

Немного далее будет описано, что они означают.

Параметр interfaces указывает интерфейсы, на которых должен работать сервис Samba. Необходимо указать те интерфейсы, которые связывают нашу машину с Windows-сетями:

interfaces = 192.168.0.22/24

Настройка общих ресурсов

Теперь осталось сконфигурировать ресурсы, которые мы хотим предоставить в общее пользование, это секция [public].

[public]

# общий каталог

comment = Public Directory

# путь

path = /var/samba

# не только чтение

read only = no

# разрешить запись

writable = yes

# разрешить гостевой доступ

guest ok = yes

# разрешить просмотр содержимого каталога

browseable = yes

В этом случае общим ресурсом нашего компьютера будет каталог /var/samba (его нужно создать, поскольку по умолчанию в системе нет такого каталога). В него другие пользователи смогут записывать свои файлы (read only=no, writeable=yes), естественно, они смогут их и читать (browseable=yes). Проверка имени пользователя и пароля для доступа к ресурсу не нужна (guest ok=yes) — используется так называемый гостевой доступ. Комментарий «Public Directory» увидят другие пользователи Windows-сети при просмотре ресурсов нашего компьютера.

Если есть необходимость предоставить общий доступ («расшарить») к домашним каталогам пользователей, то идем в секцию ;[homes]. Раскомментируем все строки, закомментированные с помощью точки с запятой до строки ;[netlogon]. Т.е. должно получиться следующее:

[homes]

comment = Home Directories

browseable = no

valid users = %S

writable = no

create mask = 0600

directory mask = 0700

Сейчас пользовательские каталоги не будут видны в списке общих ресурсов, обратиться к ним можно по адресу \\сервер\имя_пользователя . Например, \\server\petya. Если нужно, чтобы пользовательские ресурсы можно было просмотреть, тогда устанавливаем значение yes для параметра browseable:

browseable = yes

После всех изменений сохраняем файл конфигурации и запускаем (или перезапускаем — restart) Samba:

$ sudo /etc/init.d/samba start

Просмотр ресурсов Windows-сети

Просмотреть ресурсы Windows-сети можно с помощью программы smbclient, но она работает в текстовом режиме, поэтому не совсем удобна в использовании. Гораздо удобнее использовать обозреватель файлов для просмотра ресурсов сети. Сделать это можно с помощью меню Переход | Соединиться с сервером…

Секреты оптимизации Samba

Теперь поговорим о том, как заставить Samba работать немного быстрее. Если вы откроете файл конфигурации smb.conf, то найдете в нем параметр wide links. Никогда не устанавливайте его в no! Так мы существенно снизим производительность Samba. Наоборот, установить его нужно в yes (если до этого параметр wide links был отключен), что существенно повысит производительность.

Параметр wide links определяет, как Samba будет следовать по символиче­ским ссылкам. Если wide links=no, то Samba не будет следовать по симво­лическим ссылкам вне экспортируемой области. Сначала Samba следует по символической ссылке, а затем выполняет так называемый directory path lookup (системный вызов, определяющий, где завершилась ссылка). Данная операция подразумевает на 6 системных вызовов больше, нежели в случае, если wide links=yes. Учитывая, что подобных операций делается очень много, то выключение wide links снижает производительность Samba при­близительно на 30%.

Протокол TCP/IP — штука тонкая. Производительность сетевых приложений во многом зависит от того, правильно ли настроен TCP/IP. Samba — истинное сетевое приложение, которое к тому же работает по протоколу TCP/IP. При использовании TCP/IP, если размер запросов и ответов не фиксирован (как в случае с Samba), рекомендуется применять протокол TCP с опцией TCP_NODELAY. Для этого в файл smb.conf нужно добавить строку:

socket options = TCP_NODELAY

Тесты показывают, что Samba при больших нагрузках работает в 3 раза бы­стрее, чем без указания этих опций. Если Samba используется в локальной сети (в большинстве случаев так оно и есть), рекомендуется еще указать оп­цию IPTOS_LOWDELAY:

socket options = IPTOS_LOWDELAY TCP_NODELAY

Если есть желание «выжать» из Samba еще больше, тогда устанавливаем следующие параметры буферизации: SO_RCVBUF=8192 SO_SNDBUF=8192. На­пример:

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

Установка GUI

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

$ sudo apt-get install system-config-samba

Само приложение достаточно простое и удобное для управления доступом к своим ресурсам. Запуск опять таки из терминала:

$ sudo system-config-samba

8 комментариев на «“Samba: установка, настройка, оптимизация работы”»

  1. Зачём так издеваться над самбой? Можно ведь просто кликнуть правой кнопкой мыши по нужной папке и ubuntu сама попросит установить самбу.

  2. Меня почему-то устраивает Убунту. И пожалуй останусь при своих баранах)))

    А за статью спасибо, с некоторой стороны было познавательно

  3. Полинстон:

    Про Linux много слышала, но сама, конечно, использую Windows — как Вы правильно заметили, куда от него денешься. Ну, он как-то меня устраивает, и вроди менять его даже и не хочется.

  4. Не заменит пока линукс полностью виндоус. Почитал статью, и подумал может поставить ради интереса себе)

  5. Пользуюсь Windows, но статья интересная, сразу зачесались руки попробовать воплотить. Хотя, если можно проще, то зачем время тратить?

  6. pupkin2:

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

  7. Пупкин:

    я например доверяю Windows и всегда им пользуюсь, поетому я использую то 4то проверенно временем и пространством!!!!!!!!

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

Яндекс.Метрика