Библиотека сайта 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. Настройка файлового сервера с доступом только для чтения |