Как инсталировать и тестировать samba
🕛 27.10.2006, 12:39
## Перевод Copyright(C) by Kosta Kudrin
# cola@tcsb.perm.su aka 2:5054/69@fidonet
# Данный текст является переводом файла INSTALL из
# пакета samba-1.9.16p11
#
КАК ИНСТАЛЛИРОВАТЬ И ТЕСТИРОВАТЬ SAMBA
=======================================
ШАГ 0. Читайте руководство.Оно содержит множество полезной информации
которая может помочь вам начать работу. Если вы не знаете ка прочитать
руководство , то тогда попробуте что-нибудь подобное :
nroff -man smbd.8 | more
ШАГ 1. Создание бинарных файлов.
Во-первых, отредактируйт файл source/Makefile. В нем вы найдете что samba
может работать на множестве unix OS и вам необходимо будет раскоментировать
ту строчку , которая соответствует вашей ОС.
Вы так же должны редактировать секцию в верху Makefile , которая определяет
куда будет инсталлированна samba. Там же устанавливаются пути к вашим лог
файлам и так далее. Проверте что все введено правильно и каталоги
существуют.
После чего выолнити команду "make". После чеого будут созданы исполняемые
файлы. После того как эта команда завершилась корректно вы можете выполнить
команду "make install" для инсталяции исполняемых файлов и файлов помощи.
Вы можете разделить инсталяцию исполняемых файлов и файлов помощи использую
команды "make installbin" и "make installman". Замете , что если вы
обновляете предыдущую версию samba , то вы должны знать что старые версии
исполняемых файлов будут переименованны с раширением .old. Вы можете
вернуть предыдущую версию с помощью команды "make revert".
ШАГ 2. Самый важный шаг.
На этой стадии вы должны принести себе кофе или какой другой стимулирующий
напиток. Одых перед установкой прав пользователям иногда может быть большой хитростью ,
так что скорее всего он вам необходим.
Если вы уже имеете установленную samba , то пропустите этот шаг . ;)
ШАГ 3. Создание файла конфигурации smb.conf.
Есть достаточное количество приеров файлов конфигурации в подкаталоге examples
Я предлогаю вам читать их внимательно , так как возможно некоторые из опций
вы будете использовать на практике.
Самый простой файл конфигурации будет что-нибудь типа :
workgroup = MYGROUP
[homes] guest ok = no read only = no
который будет позволять присоединятся к серверу любому пользователю с
acount'ом на сервере , использующему свое имя для входа в систему или имя
службы "homes" .(Замете , что я так же установил рабочую группу , в которую
входит и сама samba). Для получения большей информации смотри ROWSING.txt
Замете , что команда "make install" не будет инсталировать файл smb.conf.
Вам необходимо будет создать его самим . Вам так же и необходимо будет
создать путь , определеный в Makefile для logs и т.д., такой как /usr/local/samba.
Проверте , что вы установили файл smb.conf в том месте , которое вы
определили в файле Makefile.
ШАГ 4. Тестирование вашего файла smb.conf с помощью testparm.
Важно что бы вы протестировали ваш файл конфигурации smb.conf используя
программу testparm. Если testparm сообщил вам "OK" , то после этого он
выдаст вам список используемых служб. Если же нет , то вы получите сообщение
об ошибке.
ШАГ. Запуск smbd и nmbd.
Вы должны выбрать как запускать smbd и nmbd или как демона или из файла inetd.
Не пытайтесь запустить сразу же оба варианта. Или вы можете установить их в
inetd.conf и иметь запрос на их запуск из inetd, или вы можете запускать их
как демонов или из командной строки или из /etc/rc.local. Для получения всех
опций смотрите руководство пользователя ( man ).
Основным преимуществом запуска smbd и nmbd как демонов заключается в том ,
что они при этом более быстро отвечают на запрос инициализации соединения.
Но это , однако , иногда не решает проблем.
Шаг 5a. Запуск из inetd.conf
ЗАМЕЧАНИЕ;
NOTE; The following will be different if you use NIS or NIS+ to
distributed services maps.
Посмотрите ваш файл /etc/services. Что определено для порта 139/tcp ? Если
ничего то определите его добавив строку вида:
netbios-ssn 139/tcp
так же для 137/udp вы должны иметь строку:
netbios-ns 137/udp
После чего отредактируйте ваш файл /etc/inetd.conf добавте в него две
строки:
netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd smbd
netbios-ns dgram udp wait root /usr/local/samba/bin/nmbd nmbd
Точный синтаксис файла /etc/inetd.conf меняется от unix к unix. Для
руководства посмотрите другие строки файла inetd.conf.
ЗАМЕЧАНИЕ: некоторые unix уже имеют строку типа netbios_ns (обатите
внимание на подчеркивание _)в файле /etc/services. Вы должы отредактировать
или файл /etc/services или /etc/inetd.conf для того что бы стоки о samba
были однотипными.
ЗАМЕЧАНИЕ : многим вaшим системам может быть необходимо использовать опцию
"interfaces" в файле smb.conf для определения IP адреса и сетевой маски
вашего интерфейса. Если вы не знаете какой broadcast адрес для вашей сети,
запустите ifconfig , имея права пользователя root. nmbd пытается определить
его во время запуска , но при этом неудачно в некоторых unix системах.
Если вам необходимо это сделать , то смотрите секцию "testing nmbd" для
метода его поиска.
!!!ВНИМАИЕ!!! Во многих системах unix доступно только 5 параметров в
командной строке в файле inetd. Это подразумевает что вы не должны
использовать пробелы между опциями и аргументами , или должны использовать
скрипт и запускать его из inetd.
Перезапустите ined , возможно просто послав ему сигнал HUP. Если вы имеете
уже ранее установленную верию nmbd , то вам так же придется убить и ее .
Шаг 5b. Альтернатива: запуск smbd и nmbd как демона.
Для запуска сервера в качестве демона вы должны создать скрипт , возможно он
будет называться "startsmb"
#!/bin/sh
/usr/local/samba/bin/smbd -D
/usr/local/samba/bin/nmbd -D
Сделайте его выполняемым с помощью команды
chmod +x startsmb
После чего вы можете запускать startsmb запуская его вручную или из файла
/etc/rc.local. Для его удаления необходимо послать сигнал удаления процесам nmbd и smbd.
ЗАМЕЧАНИЕ: Если вы используете систему инициализации типа SVR4 , то тогда можете
посмотреть пример срипта для создания Samba для этой системы в examples/svr4-startup
ШАГ 7. Получение совместно используемых ресурсов на вашем сервер c помощью команды
smbclient -L yourhostname
В ответ вы должны получить список всех доступных совместно используемых
ресурсов на вашем сервере. Если вы их не получаете , то значит какой-нибудь
из шагов установки произведен неверно. Замете , что это способ может быть
использован так же и для просмотра используемых ресурсов доступных на других
клиентах LanManager (таких как WfWg).
Если вы выбираете пользовательский уровень безопасности (user level
security), то тогда вы можете заметить , что Samba требует введения пароля
перед тем как показать список совместно используемых ресурсов. Для получения
большей информации смотрите документацию по smbclient ( вы можете получить
список используемых ресурсов и без введения пароля если добавите в командной
строку опцию -%U . Эта опция работает только с Samba серверами.)
ШАГ 8. Попробуйте присоединится к серверу с помошью unix клиента:
smbclient '\\yourhostname\aservice'
Обычно "yourhostname" будет именем хоста , на котором вы установили smbd.
А "aservice" любая служба , которую вы определили в файле конфигурации
smb.conf. Попробуйте просто свое имя пользователя если вы имеете в файле
sbm.conf секцию [homes] .
Например , если ваш unix хост имеет имя mambi и ваше имя в системе fred , то
вы должны набрать :
smbclient '\\bambi\fred'
ЗАМЕЧАНИЕ: Число слешев зависит от типа шелла , который вы используйте .
С некоторыми типами шеллов возможно вам будет нужно ввести строку
'\\\\bambi\\fred' .
ШАГ 9. Попробуйте присоединится с помощью других клиентов dos/WfWg/Win95/NT/os-2.
Попробуйте смонтировать диски:
net use d: \\servername\service
Попробуйте напечатать :
net use lpt1: \\servername\spoolservice
print filename
Радуйтесь или пошлите мне bug report!
ЧТО ЕСЛИ ОНО НЕ РАБОТАЕТ ?
==========================
Если ничего не работает и вы начинаете думать "кто писал эту кучу дряни (pile of
trash)" , то я снова предложу вам выполнить шаг 2 , до тех пор пока вы
неуспокоитесь.
После чего вы должны прочитать файл DIAGNOSIS.txt.rus и FAQ. Если вы все еще не
решили проблему , то тогда попробуйте подписаться на список рассылки (mailing
list) или на соответствующую конференцию (newsgroup) (для полученя большей
информации смотрите README).
Samba удачно установлена на тысячах компютеров во всем мире ,и может быть
кто-нибудь имел сходную проблему и удачно преодолел ее.
Вы так же можете использовать WWW сайты для изучения выпусков Samba-дайжест
(samba-digest).
Когда вы решите проблему , пожалуйса пошлите мне некоторые изменения для
документации (или исходного кода), для того чтобы следующим пользователям можно
было легче решить ее.
ПРОБЛЕМЫ ДИАГНОСТИКИ.
=====================
Если вы имеете проблемы при инсталляции ,то тогда обратитесь к DIAGNOSIS.txt
пытаясь найти причину проблемы.
SCOPE IDs
=========
По умолчанию Samba использует пустой scope ID. Это подразумевает , что все
ваши windows ящики (boxes) так же должны иметь пустой scope ID. Если вы
действительно хотите использовать не пустой scope ID , то вам необходимо
для nmbd ,smbd и smbclient использовать опцию -i . Для нормальной
работы всем вашим PCs будет необходимо иметь такие же настройки. Я не
рекомендую использовать scope IDs.