Информационные технологииStfw.Ru 🔍

Диагностика ващего сервера samba

🕛 27.10.2006, 12:39
#
# Перевод Copyright(C) by Kosta Kudrin
# cola@tcsb.perm.su aka 2:5054/69@fidonet
# Данный текст является переводом файла DIAGNOSIS из
# пакета samba-1.9.16p11
#

ДИАГНОСТИКА ВАШЕГО СЕРВЕРА SAMBA.
============================

Этот файл содержит список тестов , которые вы можете использовать при
тестировании вашего сервера Samba. Он также сообщает вам какие могут быть
встречены проблемы на каждом из этих шагов. Если все шаги пройдены успешно
то похоже все работает прекрасно. Вы должны провести все эти тесты в том
порядке , в котором они приведены.
I have tried to
carefully choose them so later tests only use capabilities verified in
the earlier tests.

Я буду рад добовлениям к этим тестам. Пожалуйста тогда пишите мне на адрес
samba-bugs@samba.anu.edu.au
Если вы посылаете мне сообщение , говоря "это не работает", и вы не
следовали процедуре тестирования , то вы не должны удевляться если я
проигнорирую ваше сообщение.


СОГЛАШЕНИЯ.

Во всех тестах я поредполагаю что вы имеете сервер Samba назваемый BIGSERVER
и клиентскую рабочую станцию (PC) называемую ACLIENT. Я так же предполагаю, что
рабочая станция работает под управленияем "Windows для рабочих групп" с
новой копией tcp/ip стека для windows. Я так же предпологаю что вы знаете
имя доступных для всех ресурсов в вашем smb.conf файле. Я также предполагаю
, что ресурс доступный для всех называется "tmp". Вы можете добавить этот
ресурс в вашу сеть , записам в файл smb.conf следующую информацию:

[tmp] comment = temporary files path = /tmp read only = yes

ЭТИ ТЕСТЫ ПРЕДПОЛОГАЮТ ЧТО ВЫ ИСПОЛЬЗУЕТЕ ВЕРСИЮ SAMBA 1.9.16 ИЛИ БОЛЕЕ
ПОЗДНЮЮ. НЕКОТОРЫЕ КОМАНДЫ НЕ СУЩЕСТВУЮТ В БОЛЕЕ РАННИХ ВЕРСИЯХ.


ТЕСТ 1:

Выполните команду "testparm". Если вы получите какое-либо сообщение об ошибке,
то в вашем файле конфигурации smb.conf какаято строка записана не верно.


ТЕСТ 2:
Выполните команду "ping BIGSERVER" с вашей рабочей станции и "ping ACLIENT"
с unix машины , на которую предпологается ставить samba. Если вы не
получаете правильный отклик , то ваше програмное обеспечение TCP/IP не
коректно инсталировано или настроенно.

Замете , что вам необходимо будет запустить на клиентской рабочей станции
"dos окно" в window для выполнения команды ping.
Если вы получаете сообщение "host not found" ("хост не найден") или похожее
, то ваш DNS сервер не правильно настроен , или не коректно установлен файл
/etc/hosts.

It is possible to
run samba without DNS entries for the server and client, но я предполагаю
что вы имеете коректно установленную информацию для остальных тестов.


ТЕСТ 3:

Выполните на unix машине команду "smbclient -L BIGSERVER" . Вы должы
получить список доступных ресурсов.
Если вы получите сообщение об ошибке содержащее строку "Bad password" ,
то вероятно вы имеете или не коректные строки "hosts allow", "hosts deny" или
строку "valid users" в вашем файле конфигурации smb.conf, или ваше имя
пользователя не правильно. Проверте , что ваше имя правильно используя "testparm"
и временно удалите все строки с "hosts allow", "hosts deny", "valid users"
или с "invalid users" . Если вы получите сообщение "connection refused" ,
то smbd сервер возможно не запущен. Если вы запускаете его из inetd.conf ,
то возможно что этот файл был некоректно отредактирован.
Если вы инсталировали Samba как демона ,то проверте что он действительно
работает. Так же с помощью команды "netstat -a" проверте что netbios-ssn порт
находится в списке LISTEN.
Если вы получаете сообщение "session request failed" (запрос на сесию не
верен) , то сервер не принимает ваш запрос на соединение. Если сервер
сообщает вам "your server software is being unfriendly" (ваше ПО не
дружественно) ,то это вероятно потому , что вы запускаете smbd с неверными
параметрами, или имеете какие-то проблемы при инициализации samba .
С помощью программы "testparm" проверте файл конфигурации smb.conf , а так
же наличие каталогов ,в которых samba открывает lock и log файлы.
Выше приведенные сообщения об ошибках могут выдавться и по следующим
причинам: возможно уже какой-нибудь деамон занимает порт 139 (возможно
smbd запущен уже из inetd.conf), или что-либо напоминающее Digital's
Pathworks. Проверте ваш ined.conf файл перед попыткой вновь запустить smbd
деамона.


TECT 4:
Выполните команду "nmblookup -B BIGSERVER _SAMBA_". Вы должны получить
назад IP адрес вашего Samba сервера.Если вы его не получаете значит nmbd
некоректно инсталирован. Проверте ваш ined.conf если вы запускаете nmbd из
него, или что деамон запущен и имеет в списке портов порт 137.
Одной из общих проблем является то , что файл ined.conf не может содержеть в
командной строке большое число параметров. Если в вашем случае это
действительно так , то просто создайте скрипт-файл ,который содержит
правильные параметры и запустите иго из ined.conf.

TECT 5:

Выполните команду "nmblookup -B ACLIENT '*'"
В ответ вы должны получить IP адрес вышей PC машины. Если вы их не получаете
значит ПО клиентской части инсталлированно некоректно , или не запущено ,
или вы имете неправильное имя PC.

TECT 6:

Выполните команду "nmblookup -d 2 '*'"

В этот раз мы пытаемся сделать то же самое что и в предыдущем тесте ,
но на этот раз посылаем broadcast сообщение на все адреса.
Число Netbios/TCPIP хостов в сети должно быть получено в ответ, однако Samba
может не уловить в короткий промежуток времени все отвечающие хосты.
Если вы не получаете похожий результат как и впредыдущем тесте ,то nmblookup
не коректно получает broadcast адрес через свой автоматический механизм.
В этом случае вы должны поэксперементировать с опцией "interfaces" в файле
smb.conf , для того что бы вручную сконфигурировать ваш IP адрес, broadcast
фдрес и сетевую маску (netmask). Если ваш сервер и РС машина находятся не
в одной подсети , то вам необходимо будет использовать опцию -B для
установки broadcast адреса такимже как подсеть на вашем PCs.

TEСT 7:

Выполните команду "smbclient '\\BIGSERVER\TMP'". После чего в должна
получить приглашения на ввод пароля. Вы должны использовать пароль , который
используется для вашего входа в unix. Если вы хотите протестировать другой
account, то добавте в командной строке опцию -U .После того как
вы введете пароль вы должны получитькомандную строку вида "smb>" . Если вы
его не получаете , то смотрите сообщение об ощибке. Если оно говорит "invalid network
name" (неправильное сетевое имя) , то служба "tmp" некоректно установлена в
вашем файле конфигурации smb.conf. Если оно говорит "bad password" (неверный
пароль) , то возможно что :

- Вы имеете shadow пароль (или некоторую другую систему паролей), но при
компиляуии samba эта опция была опущена.
- ваша конфигурация "valid users" некоректна.
- вы вводили парол как вверхнем так и внижнем регистрах ,но при этом
имеете опцию "password level" установленную в недостаточно высокий уровень.
- параметр "path =" в файле конфигурации smb.conf задан неверно. Поверте
его спомощью программы testparm.
- Вы разрешили шифрование пароля , но не открыли SMB зашифрованный файл
паролей.

Присоеденившись к серверу вы можете попробовать команды "dir" "get"
"put" и другие. Наберите "help <команда>" для получения большей информации .
Вы должны специально проверить что свободное дисковое пространство
показывается верно после выполнения команды "dir".

TECT 8:

На вашем РС компьютере выполните команду "net view \\BIGSERVER". Эту команду
необходимо будет выполнить из дос окна window. Вы должны получить список
всех доступных ресурсов на севере.
Если вы получаете сообщение "network name not found" (сетевое имя не
найдено) или похожую ошибку , то значит netbios name resolution не работает.
В этом случае проблема кроется в nmbd.
Для того что бы преодолет прблему вы должны сделать следующее (вам
необходимо выбрать одно):

- попробовать переустановить the nmbd.
- добавить IP адрес BIGSERVER сервера в окне "wins server" в расширенных опциях установки tcp/ip (advanced tcp/ip setup on the PC) на вашей РС.
- разршить windows находить имена через DNS в расширенных опциях установки tcp/ip.
- добавить сервер BIGSERVER в ваш файл lmhosts на PC.

Если вы получаете "invalid network name" или "bad password error" то вам
необходимо провести такие же действия какие были проведены для команды
"smbclient -L" в тесте выше. В особенности проверте что строка "hosts allow"
коректна.


TЕСT 9:
-
Выполните команду "net use x: \\BIGSERVER\TMP". Вы должы ввести правельный
пароль , после чего вы получите сообщение "command completed successfully"
(команда выполнена удачно). Если нет ,то тогда ПО на вашем PC неверно
установлено , или ваш файл конфигурации smb.conf неверен. Проверте что
строка "hosts allow" и другие строки в файле smb.conf введены правильно.

Так же возможно что ваш сервер не может работать с тем именем которое вы
имете. Для решения этой проблемы добавте в строку "user = USERNAME" в секцию [tmp]
вашего вайла конфигурации smb.conf, где "USERNAME" есть имя пользователя
(username) соответствующее набранному паролю . Если вы вы решили проблему ,
то возможно вым будет необходимо использовать опцию username map.


TEСT 10:
-
Из файлМенаджера попробуйте увидеть сервер. Выш samba сервер должен появится
в списке выших локальных групп (local workgroup).Вы должны дважды щелкнуть
мышкой на имени сервераи получить список его доступных ресурсов. Если вы
получаете сообщение "invalid password" (неверный пароль),то вероятно вы
работаете под WinNT is refusing to browse a server that has no encrypted password
capability and is in user level security mode.


Остались проблемы?
-
Тогда попробуте подписаться на mailing list или на соответствующую ньюс-группу ,
или воспользуйтесь утилитой tcpdump-smb для решения проблем.

Так же смотрите другие документы ,входящие в пакет поставки Samba !

Unix   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉