Samba — это бесплатный пакет программного обеспечения с открытым исходным кодом, предоставляющий «бесшовные» файловые службы и службы печати между Windows®-клиентами и UNIX®-подобными платформами. Samba работает на UNIX-подобных платформах, в том числе AIX®, BSD® UNIX и Linux®, используя протокол TCP/IP, установленный на основном сервере. После настройки это серверное программное обеспечение дает возможность хост-машине предоставлять в совместное пользование файлы и принтеры и делать их доступными Windows-клиентам.

Радхика А. Парамешваран, системный программист AIX, IBM

Радхика Парамешваран закончила постдипломный курс института BITS в г. Пилани, где она также преподавала студентам старших курсов и другим слушателям постдипломного отделения. Она работает в IBM с 2004 года и занимается разработкой AIX-технологий. На сегодняшний день ее усилия сосредоточены на продуктах для AIX, связанных с файловой системой SMB. Ей можно написать по адресу radhika.p@in.ibm.com.



22.03.2013

Введение

Samba — это бесплатный пакет программного обеспечения с открытым исходным кодом, предоставляющий «бесшовные» файловые службы и службы печати между Windows-клиентами и UNIX-подобными платформами.

Она может работать на таких UNIX-подобных платформах, как AIX, BSD UNIX и Linux. Samba использует протокол TCP/IP, установленный на хост-сервере. После настройки это серверное программное обеспечение дает возможность хост-машине предоставлять в совместное пользование файлы и принтеры и делать их доступными Windows-клиентам.

Двоичные файлы Samba для AIX записаны на диске AIX 61D Expansion pack. В виде пакета подготовлена Samba 3.0.24.

В версии Samba для AIX имеются следующие важные особенности:

  • инсталляция двоичных файлов через SMIT;
  • файловые службы и службы печати на основе протокола SMB;
  • создание общих ресурсов и пользователей;
  • настройка и обслуживание с помощью SWAT — утилиты системного управления, работающей через Web-браузер;
  • возможности трассировки и ведения журналов;
  • поддержка API-интерфейсов отправки файлов;
  • поддержка длинных имен пользователей и файлов AIX;
  • протокол просмотра ресурсов (сетевое окружение);
  • сквозная аутентификация;
  • поддержка гостевого входа;
  • поддержка безопасности на уровне ресурсов и домена;
  • поддержка Unicode;
  • поддержка Multiplexed SMB (поддержка Windows Terminal);
  • соединения без NETBIOS;
  • подписи SMB;
  • поддержка Active Directory;
  • уведомление об изменении каталога;
  • поддержка MSDFS;
  • поддержка списков управления доступом AIX Classic и NFSv4;
  • поддержка сетевого входа, включая перемещаемые профили пользователей;
  • безопасность на уровне сервера — возможности контроллера домена;
  • поддержка больших файлов;
  • преобразование атрибутов файлов DOS;
  • автоматическое отключение;
  • поддержка сервера просмотра.

Некоторые функции, не поддерживаемые в AIX-версии Samba:

  • Samba в качестве сервера или клиента LDAP;
  • Samba в качества сервера Active Directory;
  • поддержка сервера Kerberos;
  • поддержка DCE/DFS;
  • поддержка обновлений DNS;
  • поддержка Automount / smbmount;
  • поддержка PAM;
  • поддержка NISPLUS;
  • поддержка кластеров.

Аппаратные и программные требования

Samba работает на любой машине, поддерживающей AIX с Technology Level 6100-02 или новее. Сервер должен удовлетворять следующим минимальным требованиям к памяти:

  • ОЗУ 30 МБ;
  • адаптеры локальной сети, поддерживающие TCP/IP и подключенные к сети.

В каждом клиентском компьютере должен быть установлен адаптер локальной сети, компьютер должен быть физически подсоединен к сети и на нем должна быть установлена одна из версий Windows, например Windows 98, Server 2003, NT®, Vista® или XP®.

Имейте в виду, что Samba несовместима с Fast Connect, следовательно, любая существующая установленная версия Fast Connect должна быть удалена из системы.

Требуемые пакеты

Для Samba на AIX требуются следующие пакеты:

ОбразНабор файловОписание
Samba.baseSamba.baseСервер Samba
Samba.license S amba.licenseЛицензии Samba
Samba.man Samba.manДокументация по Samba

Настройка и администрирование

Настройка SWAT

Чтобы иметь возможность подключиться к серверу Samba, необходимо создать пользователей и общие ресурсы. Информация об общих ресурсах хранится в файле /usr/lib/smb.conf. Этот файл можно редактировать с помощью текстового редактора в AIX или с помощью интерфейса SWAT.

Чтобы настроить SWAT, нужно сделать следующее.

  1. Добавить в /etc/inetd.conf следующую строку:
    swat    stream  tcp     nowait  root    /usr/sbin/swat        swat
  2. Добавить в /etc/services следующую строку:
    	swat            910/tcp
  3. Обновить inetd следующим образом:
    	$ refresh -s inetd

Теперь, когда SWAT настроен, к нему можно подключиться с помощью браузера по следующему URL:

http://samba_server.my.domain.:910

Страница SWAT дает справку по всем параметрам конфигурации. Эта документация доступна также из командной строки AIX с помощью команды man.

Запуск сервера Samba

В Samba есть два демона, nmbd и smbd, которые должны быть запущены для правильной работы Samba.

nmbd — это сервер, который понимает и может отвечать на запросы службы имен NetBIOS через IP, выдаваемые такими клиентами SMB/CIFS, как клиенты Windows 95/98/ME, Windows NT, Windows 2000, Windows XP и LanManager. Он также поддерживает протоколы просмотра, позволяющие увидеть сетевое окружение Windows.

smbd — это серверный демон, обеспечивающий совместный доступ к файлам и принтерам для Windows-клиентов. Сервер предоставляет клиентам файловые службы и службы печати с помощью протокола SMB (или CIFS).

Оба демона можно запустить из командной строки следующим образом:

$ nmbd
$ smbd

Журналы этих демонов находятся в каталоге /var и имеют имена соответственно log.nmbd и log.smbd.

Эти демоны могут также запускаться автоматически во время перезагрузки системы, если в /etc/inittab добавить следующую запись:

mkitab nmb:2:once:/usr/sbin/nmbd
mkitab smb:2:once:/usr/sbin/smbd

Теперь эти два демона смогут запускаться при каждом перезапуске. Они присутствуют в списке процессов:

# ps -ef | grep mbd
root 667870 708792   0 12:49:24      -  0:00 smbd
root 675974      1   0 12:49:24      -  0:00 nmbd
root 708792      1   0 12:49:24      -  0:00 smbd

Создание пользователей

Новых пользователей можно создавать с помощью меню Password («пароль») в SWAT или с помощью утилиты pdbedit:

# pdbedit -a guest
new password:
retype new password:

Добавляемый новый пользователь является, в сущности, пользователем AIX. Пароль уже существующих пользователей изменяется с помощью утилиты smbpasswd:

$ smbpasswd -U guest

Создание общих ресурсов

Новые общие ресурсы создаются редактированием файла smb.conf или с помощью меню Shares («общие ресурсы») в SWAT. Вот пример определения общего ресурса в файле smb.conf:

[samba]
        path = /samba

Проверка smb.conf

Содержимое файла smb.conf проверяется с помощью утилиты testparm. Если появится список ошибок, их можно исправить, отредактировав smb.conf, а затем повторно протестировать настройки следующим образом:

# testparm /usr/lib/smb.conf
Load smb config files from /usr/lib/smb.conf
Processing section "[tmp]"
Processing section "[public]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
        workgroup = USERS

[samba]
        path = /samba

Проверка способности к подключению

Список доступных к подключению общих ресурсов на машине с AIX получают с помощью утилиты smbclient: utility:

# smbclient -L //beas.in.ibm.com/samba 
Password:
Anonymous login successful
Domain=[USERS] OS=[UNIX] Server=[Samba 3.0.25b]

        Sharename       Type      Comment
        ---------       ----      -------
        tmp             Disk
        public          Disk
        IPC$            IPC       IPC Service (Samba 3.0.25b)
Anonymous login successful
Domain=[USERS] OS=[UNIX] Server=[Samba 3.0.24]

        Server               Comment
        ---------            -------
        BEAS                 Samba 3.0.24

        Workgroup            Master
        ---------            -------
        USERS

К общему ресурсу можно подключиться также с помощью утилиты smbclient:

# smbclient //beas.in.ibm.com/samba -U root
Password: Domain=[BEAS] OS=[UNIX] Server=[Samba 3.0.24]
smb: \>

Текущий каталог узнаём следующим образом:

smb: \> pwd
Current directory is \\beas.in.ibm.com\samba

Прекращение работы сервера

Сервер Samba можно остановить следующим образом:

smbcontrol smbd shutdown
smbcontrol nmbd shutdown

Отключение открытых разделяемых ресурсов

Чтобы отсоединить открытые общие ресурсы от сервера, выполните следующую команду:

smbcontrol <process id of smbd> close-share <sharename>

Например:

# smbcontrol 352494 close-share homes
# smbcontrol 352494 close-share  guest

Имейте в виду, что если в клиенте открыты какие-либо файлы, то эти команды не будут выполнены.

Отключение клиента по тайм-ауту

Чтобы вызвать отключение клиента по тайм-ауту, выполните следующую команду на сервере:

# smbcontrol --timeout=100 smbd close-share tmp

По истечении заданного времени клиент отключается.

Как вариант, таймер может быть определен в файле smb.conf следующим образом:

	[global]
   dead time = 1

Подключите клиента, и пусть не будет обращений к диску в течение минуты. Через минуту диск будет отключён.

Пинг клиента

Чтобы пропинговать клиента с сервера, запустите следующую команду:

	smbcontrol <pid of smbd> close-share <sharename>

Например:

#  smbcontrol 352494 ping
PONG from pid 352494

Ответом от клиента является сообщение PONG.

Возможности трассировки и ведения журналов

Samba предлагает возможность журналирования обоих демонов — nmbd и smbd. Журналы nmbd добавляются в /var/log.nmbd, а журналы smbd — в /var/log.smbd.


Характерные функции и настройка

В этом разделе рассматриваются некоторые характерные особенности Samba и их настройка.

Безопасность на уровне пользователя

Аутентификация, описанная в предыдущем разделе, относится к безопасности на уровне пользователя. Здесь пользователи определены на уровне Samba-сервера. Клиент аутентифицируется как один из пользователей, определенных в сервере. Глобальный параметр для этого в smb.conf:

[global]
	security = user

Это настройка по умолчанию для Samba-сервера.

Безопасность на уровне ресурса

Стандартный список внутренних пользователей в Samba состоит из таких пользователей, как nobody, Administrator и так далее. Доступ к файловому или принтерному ресурсу основан на успешной аутентификации в качестве какого-либо из этих стандартных пользователей.

Если ресурс должен быть доступен только для конкретного пользователя, то он настраивается в smb.conf следующим образом:

[global]
  security = share

[tmp]
  only user = yes
user = ann
path = /tmp

[samba]
	   path = /samba

В этом примере конфигурации доступ к /tmp разрешен только для ann, а к /samba доступ имеет пользователь guest.

Параметр only user показывает, разрешает ли Samba подключения к общему ресурсу, используя безопасность на уровне пользователя только на основе списка пользователей, указанных в параметре username, вместо тех пользователей, которые есть во внутреннем списке Samba (nobody, Administrator и так далее). Значение по умолчанию для этого параметра — «no».

Безопасность на уровне сервера

При использовании безопасности на уровне сервера аутентификация может быть передана на другой сервер. Она также называется сквозной аутентификацией. Вот настройки в smb.conf:

[global]
 workgroup = IN.IBM.COM
 encrypt passwords = yes
 security = server
 password server = jhelum.in.ibm.com

[share2]
  comment = mnt
  path = /home/mary/mnt2
  read only = No
  valid users = mary

[share1]
  comment = mary
  path = /home/mary/mnt1
 writeable = yes
 valid users = nobody

В этом примере пользователь "mary" имеет доступ к ресурсу share2, а у "nobody" есть доступ к share1.

Возможности контроллера домена

Контроллер домена является аутентификатором для всех машин в домене (как Windows, так и AIX). Домен обычно относится к той же подсети. Samba может выступать в качестве контроллера домена. В smb.conf для этого нужно включить следующий текст:

[global]
    workgroup = SAMBA
    security = user
    domain master = yes	
    local master = yes
    preferred master = yes
    os level = 65
    domain logons = yes
    add machine script = /usr/sbin/useradd -d /var/lib/nobody -g 100 %u

В настройках клиента на Windows нужно присоединиться к домену Samba. Добавьте к списку удаленных пользователей права доступа из домена Samba. Эти пользователи не обязательно существуют в Windows, но они есть в домене Samba.

Samba — контроллер домена. Windows является членом этого домена. Когда выбирается домен и на стороне Windows-клиента вводятся имя пользователя и пароль, запрос на аутентификацию поступает в Samba-сервер. Можно осуществить сквозную аутентификацию на другом сервере Samba, являющемся контроллером домена, следующим образом:

[global]
 	    security = server
       	    password server = jhelum.in.ibm.com

Здесь на jhelum работает Samba-сервер, и он является контроллером домена. Аутентификация передается в jhelum.

В случае, если неизвестно имя контроллера домена, которое нужно записать в smb.conf, то сервер Samba может искать его в том же домене. Это можно указать в smb.conf следующим образом:

    password server = *

Поддержка Active Directory

Если служба каталогов Active Directory (AD) установлена на Windows сервере, то можно настроить Samba на перенаправление всех приходящих соединений на сервер Active Directory для аутентификации.

Такое перенаправление можно реализовать следующим образом.

Создайте пользователя rocky как в AD, так и в Samba, с разными паролями. Допустим, AD установлен в Windows-клиенте с адресом 9.124.101.235. Отредактируйте smb.conf следующим образом:

 [global]
        WORKGROUP = mygroup
        security = server
        password server = 9.124.101.235

[tmp]
        path = /tmp
        msdfs root = yes
        public = yes

[rocky]
        path = /home/rocky
        public = yes

Подключитесь как пользователь rocky, используя эти два разных пароля (для Samba и AD). Оба проходят аутентификацию.

Многопользовательский вход

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

Чтобы проверить эту возможность, установите Windows Terminal Server на машине с Windows. Перезагрузите машину. Подключите диск к Samba-серверу. Подключитесь к этой Windows-машине с другого клиента через службу Remote Desktop.

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

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

Гостевой вход

Гостевой вход становится возможным, если в smb.conf установить следующий параметр:

	[global]
   security = user
	   guest ok = yes

Учетная запись guest может быть заведена для неправильных паролей или неправильных имен пользователей. При параметре «bad password» сервер осуществляет вход для всех паролей или для пустого пароля. При «bad user» сервер проводит аутентификацию только для неправильных имен пользователей, которых нет в Samba. Пример такой настройки:

[global]
        map to guest = Bad user

Пользователь, предназначенный для гостевого входа, задается параметром guest account:

	[global]

	   guest account = mary

Отображение имен пользователей

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

Следующие параметры могут быть использованы в определении общего ресурса:

	##принудительные права доступа для файлов, созданных на ресурсе
create mask = 0777

##принудительные права доступа для каталогов, созданных на ресурсе
directory mask = 0444

## принудительное назначение пользователя и
 группы файлам и каталогам, созданным на ресурсе
force user = root (username)
force group = system (groupname)

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

Чтобы разрешить читать/писать в ресурсе только определенным пользователям, в smb.conf должна использоваться следующая конфигурация:

[tmp]
path = /tmp
writable = no
write list = root
 read list = root

Шифрование паролей

При отключённом в Samba шифровании паролей аутентификация осуществляется в AIX. Samba делает аутентификацию только в том случае, когда включено шифрование паролей.

Добавьте следующую запись в smb.conf:

	[global]
	     password encryption = no

Создайте такого пользователя в AIX, которого нет в Samba. Если подключить диск в Windows-клиенте, используя этого пользователя, то AIX аутентифицирует его. Теперь сделайте следующее изменение в smb.conf:

	[global]
	     password encryption = yes

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

Это показывает, что в случае, когда шифрование выключено, AIX аутентифицирует пользователя, присутствующего в AIX и отсутствующего в Samba. Samba аутентифицирует пользователя, когда пароли шифруются, как во втором случае, описанном выше.

Функция MSDFS

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

  • Для доступа к нескольким файловым серверам, возможно, распределённым по всей сети, может использоваться единое отображение дисков.
  • Несколько файловых серверов могут быть отображены на одно имя, обеспечивая тем самым избыточность и локальность доступа к данным.
  • Вся сложность логической и физической топологии представляется в виде единого дерева каталогов (отображение дисков), причем подкаталоги фактически могут быть размещены на удаленных серверах.

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

Чтобы использовать эту функцию в Samba, в файле smb.conf должен быть указан корень MSDFS.

	[global]
        	host msdfs  = yes
        	security = user

[tmp]
        	path = /tmp
        	msdfs root = yes
        	public = yes

Ссылка на корень DFS делается следующим образом:

cd /tmp
ln -s msdfs:beas.in.ibm.com\\radhika t1

где beas.in.ibm.com\\radhika — разделяемый ресурс с запущенной Samba, скомпилированной с параметром --with-msdfs. Если в Windows-клиенте подключить ресурс tmp, то станут доступны каталоги t1. Таким образом, эта функция позволяет получать универсальный доступ с корня DFS к каталогам одного ресурса.

Поддержка ACL

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

Создайте новую файловую систему с v2=extended attribute /samba. Проверьте типы ACL, поддерживаемые файловой системой:

# aclgettypes /samba
Supported ACL types are:
        AIXC
        NFS4

Создайте новый файл test1.txt и проверьте ACL этого файла:

# aclget test1.txt
*
* ACL_type   AIXC
*
attributes:
base permissions
    owner(root):  rw-
    group(system):  r--
    others:  r--
extended permissions
    enabled

Если параметр extended permissions («расширенные права доступа») отключен, то включите его. Преобразуйте тип ACL файла test1.txt в NFS4:

# aclconvert -t NFS4 test1.txt

Получите ACL для test1.txt:

# aclget test1.txt
*
* ACL_type   NFS4
*
*
* Owner: root
* Group: system
*
s:(OWNER@):     a       rwpRWaAdcCs
s:(OWNER@):     d       xo
s:(GROUP@):     a       rRadcs
s:(GROUP@):     d       wpWxACo
s:(EVERYONE@):  a       rRadcs
s:(EVERYONE@):  d       wpWxACo

Добавьте новый общий ресурс для созданной файловой системы в smb.conf:
[samba]
   path = /samba
   public = yes

Преобразования между правами доступа UNIX и NFS4 ACL непредсказуемы. Следовательно, сравнение NFSv4 ACL и прав доступа в выводе команды ls –l может ввести в заблуждение.

Подсоедините диск в Windows-клиенте от имени пользователя "john" (относящегося к группе system). Создайте новый файл в /samba. Сервер не позволяет удалить этот файл. Доступ для удаления запрещен, поскольку D не разрешается для этой группы.

Подписи SMB

Подписи SMB обеспечивают возможности взаимной аутентификации и аутентификации сообщений для Samba-сервера. По умолчанию подписи SMB отключены. При включённых подписях каждое сообщение еще и подтверждается цифровой подписью.

Для включения подписей SMB в smb.conf следует добавить следующее:

	server signing = yes

Включите подписи SMB в Windows-клиенте. Затем в заголовке SMB появляется комментарий "Security signatures are enabled." («Включены подписи безопасности»).

Поддержка больших файлов

Большие файлы — это файлы, размер которых превышает 4 ГБ. Сервер Samba поддерживает большие файлы по умолчанию. Не требуется настраивать никаких специальных параметров. Чтобы проверить эту функцию, передайте большой файл с AIX на Windows-клиент через подключенный диск. Операция будет успешной.

Службы печати

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

Рассмотрим следующие очереди печати, сконфигурированные в AIX.

# lpstat
Queue  Dev  Status   Job Files     User       PP %   Blks  Cp Rnk
------ ---- -------- --- ---------- ------ ---- -- --- --- ---
badq    lxx   READY
52ps    hp@9  READY
52cl    hp@9  READY
52vcl   lxx   READY

Принтерный ресурс можно добавить в файл smb.conf следующим образом:

# cat /usr/lib/smb.conf
[global]
        print command = /usr/bin/lpr -r -P%p %s
        lpq command = cat %p >> /tmp/lpq.log ;/usr/bin/lpq -P%p
        lprm command = /usr/bin/lprm -P%p %j

[52vcl]
        printable = yes
        use client driver = yes
        browseable = yes
        print command = /usr/bin/lp -d 52vcl %s
        path = /tmp
        printing = AIX
        guest ok = yes
        print ok = Yes

Настроенный принтер можно увидеть в сетевом окружении Windows в той же подсети. Кроме того, в других подсетях добавьте сетевой принтер как новый принтер.

Тестовая печать с помощью SMB-клиента производится следующим образом:

# smbclient //aixfvt49.in.ibm.com/52vcl -U joe
Password:
Anonymous login successful
Domain=[SAMBA] OS=[UNIX] Server=[Samba 3.0.26a]
smb: \> put /etc/motd
putting file /etc/motd as \/etc/motd (6.5 kb/s) (average 6.5 kb/s)
smb: \>

Можно посылать запросы с Windows на этот сетевой принтер.

Преобразование атрибутов DOS

Samba поддерживает атрибуты файлов DOS с использованием следующих параметров:

	map archive = yes
	map system = yes
	map hidden = yes

На рисунке показано соответствие прав доступа атрибутам DOS.

Права доступа и атрибуты DOS
fig1

Можно создать файл в каталоге, предоставленном в общий доступ, с некоторыми битами прав доступа. Вы можете просматривать этот файл с помощью утилиты smbclient следующим образом:

На AIX:

-rwxrwxrwx    1 john     staff       0 Jan 29 14:25 New Text Document (4).txt
-rwxrwxrwx    1 guest    usr         0 Feb 27 15:23 New Text Document (5).txt
drwxrwxrwx    2 ldapdb2  dbsysadm    256 Feb 08 10:46 SQLDIR.LK0

C использованием smbclient:

 New Text Document (4).txt         AHS       0  Tue Jan 29 14:25:56 2008
 New Text Document (5).txt         AHS       0  Wed Feb 27 15:23:34 2008
 SQLDIR.LK0                  	D       0  Fri Feb  8 10:46:05 2008

Уведомление об изменении в каталоге

Функция уведомления об изменении в каталоге реализована в Samba по умолчанию. При изменении клиентом каталога, например при создании нового файла, Samba выдает сообщение "NT NOTIFY".

В случае, если требуется изменить интервал для проверки изменений, нужно внести следующие изменения в smb.conf:

      change notify timeout = 10

iptrace показывает запросы и ответы NT NOTIFY.

Подключения без NETBIOS

Отключите NETBIOS через TCP/IP в Windows-клиенте и перезагрузите его. Теперь подключите диск. Подключение успешно происходит, что показывает, что в Samba возможны подключения без NETBIOS.

Протокол просмотра ресурсов

Samba видна в сетевом окружении с Windows-клиентами в той же подсети.

Это может быть проверено следующим образом. Нужна машина с Windows-клиентом в той же подсети, что и сервер Samba. Допустим, что Samba-сервер работает на компьютере jhelum, а 9.124.113.100 — это Windows-клиент в той же подсети.

Редактируем smb.conf следующим образом:

[global]
  workgroup = WORKGROUP             
  security = user
[samba4]
  path = /samba4
  writeable = yes
valid users = root

Теперь просматриваем сетевое окружение в Windows-клиенте. В сетевом окружении клиента виден Samba-сервер.

Функциональность сервера просмотра ресурсов

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

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

Samba может выступать в качестве сервера просмотра ресурсов сети со следующими параметрами:

[global]
   local master = yes
   preferred master = yes
   WORKGROUP = SAMBA

Интервал в секундах, который nmbd может выждать перед повторным широковещательным оповещением в протоколе LAN Manager, может быть задан в smb.conf следующим образом:

     lm interval = 120

Теперь проверьте возможность подключения с Windows-клиента.

Проверьте функциональность сервера просмотра ресурсов с помощью smbclient следующим образом:

# smbclient -L //aixfvt21.in.ibm.com/tmp
Password:
Anonymous login successful
Domain=[SAMBA] OS=[UNIX] Server=[Samba 3.0.26a]
        Sharename       Type      Comment
        ---------       ----      -------
        tmp             Disk
        samba           Disk
        IPC$            IPC       IPC Service (Samba 3.0.26a)
Anonymous login successful
Domain=[SAMBA] OS=[UNIX] Server=[Samba 3.0.26a]
        Server               Comment
        ---------            -------
        AIXFVT21             Samba 3.0.26a

        Workgroup            Master
        ---------            -------
SAMBA	AIXFVT21

Ниже приводится соответствующий фрагмент log.nmbd:

[2008/03/27 13:22:10, 0] nmbd/nmbd_become_lmb.c:become_local_master_stage2(396)
  *****

Теперь Samba-сервер имен AIXFVT21 является локальным сервером просмотра для рабочей группы SAMBA в подсети 9.124.101.199

Имейте в виду, что local master = yes обеспечивает участие Samba в выборах, и только. preferred master = yes вызывает принудительные выборы сервера просмотра, как только Samba появится в сети.


Определение проблем

Трассировка

Пакеты сообщений между клиентом и сервером в AIX можно отследить с помощью команды tcpdump.

Запустите команду tcpdump на сервере следующим образом:

tcpdump -s 0 -w <tracefile> host <hostname> and <hostname/ipaddress>

Например:

tcpdump -s 0 -w cap_1.cap host aixfvt21 and 9.126.241.144

Взаимодействие между клиентом и сервером должно быть теперь завершено, и после этого работа tcpdump может быть прекращена. Созданный файл трассировки просматривается с помощью Ethereal или любого другого средства.

Журналы

В /var/log.smbd записываются сообщения от демона SMB, а в /var/log.nmbd — от демона nmb.

Уровни отладки могут быть увеличены следующим параметром в smb.conf:

	[global]
	    log level = 5

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


Заключение

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

Ресурсы

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=AIX и UNIX, Open source
ArticleID=862291
ArticleTitle=Samba на AIX
publish-date=03222013