Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Серверы Linux. Часть VI. Знакомство с сервером Samba

Оригинал: Getting started with samba
Автор: Paul Cobbaut
Дата публикации: 24 мая 2015 г.
Перевод: A.Панин
Дата перевода: 14 июля 2015 г.

Глава 10. Начало работы с сервером Samba

10.4. Утилита /usr/bin/smbtree

Другим полезным инструментом для диагностики сервера Samba или для простого исследования сети, при построении которой которой был использован протокол SMB, является утилита smbtree. При простейшем варианте использования утилита smbtree будет осуществлять анонимный обзор локальной подсети, выводя информацию обо всех компьютерах, использующих протокол SMB, а также (в случае авторизации) о разделяемых ими ресурсах.

Давайте рассмотрим два сценария использования утилиты smbtree (с пустым паролем). Первый вывод был получен непосредственно после загрузки четырех различных компьютеров (один из них работает под управлением ОС MS Windows 2000, один - под управлением ОС Windows XP, один - под управлением MS Windows 2003 и еще один - под управлением дистрибутива RHEL 4 с сервером Samba 3.0.10).

[paul@RHEL4b ~]$ smbtree
Password: 
WORKGROUP
PEGASUS
        \\WINXP          
        \\RHEL4B                        Pegasus Domain Member Server
Error connecting to 127.0.0.1 (Connection refused)
cli_full_connection: failed to connect to RHEL4B<20> (127.0.0.1)
        \\HM2003         
[paul@RHEL4b ~]$

Информация, приведенная в предыдущем примере, выглядит неполной. Ввиду того, что анонсы от компьютеров все еще передаются, список компьютеров еще не распространен между всеми клиентами силами выбранного обозревателя сети (Master Browser). Следующий вывод был получен минутой позже. И он содержит еще меньше информации.

[paul@RHEL4b ~]$ smbtree
Password: 
WORKGROUP
        \\W2000          
[paul@RHEL4b ~]$

После небольшого ожидания в результате повторного использования утилиты smbtree будет получен более информативный вывод.

[paul@RHEL4b ~]$ smbtree
Password: 
WORKGROUP
        \\W2000          
PEGASUS
        \\WINXP          
        \\RHEL4B                        Pegasus Domain Member Server
                \\RHEL4B\ADMIN$                 IPC Service (Pegasus Domain Member Server)
                \\RHEL4B\IPC$                   IPC Service (Pegasus Domain Member Server)
                \\RHEL4B\domaindata             Active Directory users only
        \\HM2003         
[paul@RHEL4b ~]$ smbtree --version
Version 3.0.10-1.4E.9
[paul@RHEL4b ~]$

Я добавил вывод версии утилиты smbtree в предыдущем примере для того, чтобы продемонстрировать отличие вывода этой версии от вывода новейшей версии утилиты smbtree (в примере ниже показан вывод утилиты из состава дистрибутива Ubuntu Fiesty Fawn). Новейшая версия утилиты позволяет осуществить более полный обзор машин и разделяемых ресурсов сети.

paul@laika:~$ smbtree --version
Version 3.0.24
paul@laika:~$ smbtree
Password: 
WORKGROUP
        \\W2000          
                \\W2000\firstshare     
                \\W2000\C$              Default share
                \\W2000\ADMIN$          Remote Admin
                \\W2000\IPC$            Remote IPC
PEGASUS
        \\WINXP          
cli_rpc_pipe_open: cli_nt_create failed on pipe \srvsvc to machine WINXP.
Error was NT_STATUS_ACCESS_DENIED
        \\RHEL4B                        Pegasus Domain Member Server
                \\RHEL4B\ADMIN$                 IPC Service (Pegasus Domain Member Server)
                \\RHEL4B\IPC$                   IPC Service (Pegasus Domain Member Server)
                \\RHEL4B\domaindata             Active Directory users only
        \\HM2003         
cli_rpc_pipe_open: cli_nt_create failed on pipe \srvsvc to machine HM2003.
Error was NT_STATUS_ACCESS_DENIED
paul@laika:~$

В предыдущем выводе также приведена полезная информация об ошибках, из-за которых мы не можем ознакомиться с информацией о ресурсах, разделяемых системами с именами WINXP и WIN2003. Давайте попробуем воспользоваться более старой версией утилиты smbtree на нашем сервере, работающем под управлением дистрибутива RHEL, но в этот раз с правами администратора (которые распространяются на все компьютеры сети).

[paul@RHEL4b ~]$ smbtree -UAdministrator%Stargate1
WORKGROUP
         \\W2000          
PEGASUS
         \\WINXP          
                \\WINXP\C$              Default share
                \\WINXP\ADMIN$          Remote Admin
                \\WINXP\share55        
                \\WINXP\IPC$            Remote IPC
         \\RHEL4B                       Pegasus Domain Member Server
                \\RHEL4B\ADMIN$         IPC Service (Pegasus Domain Member Server)
                \\RHEL4B\IPC$           IPC Service (Pegasus Domain Member Server)
                \\RHEL4B\domaindata     Active Directory users only
         \\HM2003         
                \\HM2003\NETLOGON       Logon server share 
                \\HM2003\SYSVOL         Logon server share 
                \\HM2003\WSUSTemp       A network share used by Local Publishing ...
                \\HM2003\ADMIN$         Remote Admin
                \\HM2003\tools          
                \\HM2003\IPC$           Remote IPC
                \\HM2003\WsusContent    A network share to be used by Local ...
                \\HM2003\C$             Default share
[paul@RHEL4b ~]$

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

10.5. Строка описания сервера

Комментарий, который можно обнаружить как в выводе команды net view, так и в выводе команды smbclient, является всего лишь стандартным значением строки описания сервера, задаваемым с помощью параметра конфигурации server string. После простого добавления данного параметра с измененным значением в секцию глобальных параметров (global) файла конфигурации smb.conf и перезапуска сервера Samba данная строка описания сервера изменится.

[root@RHEL53 samba]# testparm -s 2>/dev/null | grep server
        server string = Red Hat Server in Paris

После непродолжительного промежутка времени измененная строка описания сервера станет видимой на компьютерах, работающих под управлением ОС от компании Microsoft.

C:\Documents and Settings\Administrator>net view
Server Name            Remark

-------------------------------------------------------------------------------
\\LAIKA                Ubuntu 9.04 server in Antwerp                           
\\RHEL53               Red Hat Server in Paris                                 
\\W2003

10.6. Веб-интерфейс для администрирования сервера Samba (SWAT)

В комплекте поставки сервера Samba присутствует инструмент с графическим интерфейсом, предназначенный для модификации файла конфигурации вашего сервера Samba. Доступ к веб-интерфейсу SWAT (Samba Web Administration Tool) осуществляется с помощью веб-браузера путем обращения к порту номер 901 системы с установленным сервером Samba. Для активации данного инструмента следует в первую очередь выяснить, какой из супердемонов, inetd или xinetd, используется в вашей системе.

[root@RHEL4b samba]# ps fax | grep inet
        15026 pts/0    S+     0:00                      \_ grep inet
         2771 ?        Ss     0:00 xinetd -stayalive -pidfile /var/run/xinetd.pid
[root@RHEL4b samba]#

После этого следует отредактировать файл конфигурации супресервера inetd с именем inetd.conf или заменить строку disable = yes на строку disable = no в файле конфигурации суперсервера xinetd с именем /etc/xinetd.d/swat.

[root@RHEL4b samba]# cat /etc/xinetd.d/swat 
# default: off
# description: SWAT is the Samba Web Admin Tool. Use swat \
#              to configure your Samba server. To use SWAT, \
#              connect to port 901 with your favorite web browser.
service swat
{
        port            = 901
        socket_type     = stream
        wait            = no
        only_from       = 127.0.0.1
        user            = root
        server          = /usr/sbin/swat
        log_on_failure  += USERID
        disable         = no
}
[root@RHEL4b samba]# /etc/init.d/xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]
[root@RHEL4b samba]#

Измените значение параметра only_from для того, чтобы разрешить использование веб-интерфейса с удаленных компьютеров. В данном примере показана методика разрешения использования веб-интерфейса SWAT всем компьютерам из подсети /24.

[root@RHEL53 xinetd.d]# grep only /etc/xinetd.d/swat 
        only_from       = 192.168.1.0/24

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

10.7. Практическое задание: начало работы с сервером Samba

1. Создайте резервную копию оригинального файла конфигурации smb.conf под именем smb.conf.orig.

2. Активируйте веб-интерфейс SWAT и изучите его.

3. Остановите сервер Samba.

4. Создайте минималистичный файл конфигурации сервера Samba с именем smb.conf.minimal и проверьте его корректность с помощью утилиты testparm.

5. Используйте команду testparm -s для создания файла конфигурации сервера Samba, который будет расположен по пути /etc/samba/smb.conf, на основе вашего минималистичного файла конфигурации smb.conf.minimal.

6. Запустите сервер Samba с минималистичным файлом конфигурации smb.conf.

7. Убедитесь в работоспособности вашего сервера Samba с помощью утилиты smbclient.

8. Убедитесь в видимости вашего сервера Samba для другого компьютера из сети (работающего под управлением ОС от компании Microsoft).

9. Получите список устройств сети с помощью команд net view, smbtree, а также с помощью проводника ОС Windows.

10. Измените значение параметра строки описания сервера server string в файле конфигурации smb.conf. Сколько времени пройдет до того момента, когда измененная строка описания сервера будет видима на другой системе (при использовании команд net view, smbclient, меню "Мое сетевое окружение", ...).

11. Ускорит ли распространение измененных данных перезапуск сервера Samba после модификации файла конфигурации smb.conf?

12. Какой компьютер выступает в роли обозревателя сети (Master Browser) для компьютеров из вашей рабочей группы? Какие функции выполняет обозреватель сети?

13. Если позволяет время (или вы ожидаете завершения выполнения данного практического задания другими студентами), установите сниффер (wireshark) и отследите процесс выбора обозревателя сети (Master Browser).

10.8. Корректная процедура выполнения практического задания: начало работы с сервером Samba

1. Создайте резервную копию оригинального файла конфигурации smb.conf под именем smb.conf.orig.

cd /etc/samba ; cp smb.conf smb.conf.orig

2. Активируйте веб-интерфейс SWAT и изучите его.

В дистрибутиве Debain/Ubuntu: vi /etc/inetd.conf (уберите символ комментирования # перед строкой с описанием сервиса swat)

В дистрибутиве RHEL/Fedora: vi /etc/xinetd.d/swat (установите значение no параметра disable)

3. Остановите сервер Samba.

/etc/init.d/smb stop (Red Hat)

/etc/init.d/samba stop (Debian)

4. Создайте минималистичный файл конфигурации сервера Samba с именем smb.conf.minimal и проверьте его корректность с помощью утилиты testparm.

cd /etc/samba ; mkdir my_smb_confs ; cd my_smb_confs
vi smb.conf.minimal
testparm smb.conf.minimal

5. Используйте команду testparm -s для создания файла конфигурации сервера Samba, который будет расположен по пути /etc/samba/smb.conf, на основе вашего минималистичного файла конфигурации smb.conf.minimal.

testparm -s smb.conf.minimal > ../smb.conf

6. Запустите сервер Samba с минималистичным файлом конфигурации smb.conf.

/etc/init.d/smb restart (Red Hat)

/etc/init.d/samba restart (Debian)

7. Убедитесь в работоспособности вашего сервера Samba с помощью утилиты smbclient.

smbclient -NL 127.0.0.1

8. Убедитесь в видимости вашего сервера Samba для другого компьютера из сети (работающего под управлением ОС от компании Microsoft).

smbclient -NL 'IP-адрес' (в Linux)

9. Получите список устройств сети с помощью команд net view, smbtree, а также с помощью проводника ОС Windows.

В Linux: smbtree

В Windows: net view (и сочетание клавиш Windows + e)

10. Измените значение параметра строки описания сервера server string в файле конфигурации smb.conf. Сколько времени пройдет до того момента, когда измененная строка описания сервера будет видима на другой системе (при использовании команд net view, smbclient, меню "Мое сетевое окружение", ...).

vi /etc/samba/smb.conf

(После перезапуска сервера Samba должно пройти несколько секунд)

11. Ускорит ли распространение измененных данных перезапуск сервера Samba после модификации файла конфигурации smb.conf?

Да, ускорит.

12. Какой компьютер выступает в роли обозревателя сети (Master Browser) для компьютеров из вашей рабочей группы? Какие функции выполняет обозреватель сети?

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

13. Если позволяет время (или вы ожидаете завершения выполнения данного практического задания другими студентами), установите сниффер (wireshark) и отследите процесс выбора обозревателя сети (Master Browser).

В дистрибутиве Ubuntu: sudo aptitude install wireshark

После этого следует выполнить команду sudo wireshark, выбрать сетевой интерфейс и начать перехват трафика.


Предыдущий раздел: Оглавление Следующий раздел:
Глава 10. Начало работы с сервером Samba   Глава 11. Настройка файлового сервера с доступом только для чтения