====================================================================== # # # Author: iNo // k0dsweb gr0up # # Статья является собственностью команды KODSWEB # # Любое растпространение без нашего ведома строго запрещено. # # -= 16.03.2003 =- # # # ====================================================================== # # # Использование SAMBA для обеспечения совместного доступа # # к файлам при работе в смешанной сети. # # # ====================================================================== INTRO... Довольно часто встречаются ситуации когда в локалках есть компы как с Виндами на борту, так и с NIX'ами. Всё бы хорошо, но далеко не каждый пользователь NIX'ов знает, как передавать файлы с NIX'ов в винду, особо не извращаясь. Незнающие люди начинают настраивать FTP, но это глупо, т.к. есть специализированное средство. И имя ему SAMBA. Как известно, в сетях под управением виндов используется протокол SMB(Server Message Block). Который в свою очередь позволяет применять сетевой интерфейс NetBIOS(Network Basic Input Output System), позволяющий компьютерам сети совместно использовать ресурсы(принтеры и диски). Изначально NIX'ы SMB не поддерживали. Но потом Эндрю Триджелл создал версию SMB под UNIX, названную SAMBA. Сервер SAMBA подключает NIX'ы к сети виндов таким образом, как если бы эти системы были установлены на компьютерых с виндами. SAMB'ой можно воспользоваться для обеспечения совместного доступа к файлам при работе в смешанной сети. Кроме того, он позволяет получить доступ к файлам на компьютере с виндами из NIX'ов. А файловая система SAMB'ы smbfs позволяет монтировать разделяемый удалённый каталог SMB к своей файловой системе. Я думаю, что теперь и ежу понятно, что вещь это архинужная, и лучше с ней ознакомится. HOWTO... Итак. Приступим. Для работы SAMB'ы используется 2 демона(smbd,smbn), клиента(smbclient) и нескольких вспомогательных утилит(smbmount,smbumount,smbstatus,testparm). Демон smbd нужен для предоставления доступа к файлам и принтерам, а также к другим системам, поддерживающим SMB. Демон smbn обеспечивает преобразование имён NetBIOS. Клиент позволяет обращаться к серверам SAMBA, он чем-то похож на ftp-клиент. Утилиты smbmount и smbumount предназначенны соответственно для монтирования и размонтирования удалённой файловой системы. smbstatus показывает текущее состояние сервера, т.е. кто и куда подключился. Комманда testparm служит для тестирования конфигурационного файла smb.conf. Для хранения паролей сервер SAMBA поддерживает собственный файл паролей smbpasswords. SERVER... Как я уже сказал, конфигурация сервера SAMBA производится в файле smb.conf, который, как правило, находится в папке с самой SAMB'ой или в /etc. Файл состоит из секций, которые начинаются с метки секций, заключённой в квадратные скобки [mysection]. Сами параметры вводятся в формате имя_параметра=значение. Комментарии вводится после точки с запятой. Для конфигурации сервера SAMBA можно использовать SWAT, конфигуратор в формате HTML, но я бы этого делать не рекомендовал. Ручками надёжнее. Начнём конфигурировать наш smb.conf. Сначала идёт самая главная секция [global]. В ней собраны самые основные и необходимые для работы сервера настройки. Я буду описавать самые основные параметры. Про остальное почитаешь сам. --------------------------------------------------------------------------- [global] workgroup = твоя_рабочая_группа_или_домен server string = краткое_описание_твоего_сервера hosts allow = 127.0.0.1 //необязательно, хосты ТОЛЬКО которым разрешён доступ к твоему серверу guest account = pcguest //гостевой аккаунт, тоже не обязательно(но если всё-таки нужен, не забудь добавить его в /etc/passwd log file = /var/log/samba/%m.log //где будет лежать лог max log size = 1024 //максимальный размер лога encrypt passwords = yes //тоже не обязательно, но если нужно будет шифровать пароли-врубай smb passwd file = /etc/samba/smbpasswd //файл паролей SAMBA --------------------------------------------------------------------------- Затем идёт секция [homes], в которой определяются задаваемые по умолчанию элементы управления, с помощью которых осуществляется доступ удалённых пользователей к рабочему каталогу пользователя. --------------------------------------------------------------------------- [homes] comment = Home directories //комментарий к ресурсу browseable = no //если оставить так, то нельзя будет просматривать ресурс в диспетчере файлов(например в Explorer'е) writable = no //запрет на редактирование --------------------------------------------------------------------------- Далее идёт секция настройки принтеров [printers]. --------------------------------------------------------------------------- [printers] comment = Printers //комментарий path = /var/spool/samba //расположение каталога очереди SAMBA browseable = no //секция будет скрыта для обозрения пользователем,но останется доступной public = yes //разрешение печати пользователю "guest account" guest = ok //разрешение печати гостевым пользователям writable = no //запрещение действий над файлами в очереди принтера printable = yes //разрешение доступа к ресурсу --------------------------------------------------------------------------- Ну и последняя секция Shares, в которой описываются все остальные ресурсы. Она отличается тем, что саму метку shares указывать не надо.За метку секции принемается имя ресурса. Таких ресурсов может быть сколько угодно. И для каждого надо делать свою секцию. Я просто приведу пример с комментарияим и тебе станет всё понятно. --------------------------------------------------------------------------- [myshare] comment = my stuff //комментарий path = /usr/myshare //локальый путь к ресурсу valid users = ino //допустимые пользователи public = no //запрещение доступа гостю writable = yes //права на запись printable = yes //разрешение печати creare mask = 0765 //а вот тут можно установить права как коммандой chmod --------------------------------------------------------------------------- После настройки файла smb.conf нудно проверить файл на ошибкив синтаксисе. Делается это коммандой testparm. Если всё прошло успешно, запускаем сервер. CLIENT... С сервером разобрались. Остался клиент. При запуске клиента без параметров вылезает хелп. Ниже я опишу все параметры короткими комментариями. -S smb.conf Указывает путь к файлу smb.conf -B IP_адрес Указывает широковещательный IP-адрес -O опции_сокета Перечисляет опции сокета -R порядок_определения_имён Определяет необходимость использования только служб преобразования имён -M хост Отсылает отсылку хосту сообщения winpopup(очень полезная фишка) -i область_доступа Обеспечивает возможность использования данной области доступа NetBIOS -N Запрецает запрос пароля -n имя_netbios Использует данное название в качестве имени NetBIOS -d уровень_отладки Задаёт уровень отладки -P Устанавливает соединение со службой для работы с принтером -p порт Устанавливает соединение с определённым портом -l log имя Задаёт имя для файлов log/debug -h Обеспечивает печать справочного сообщения -I ip_адрес Определяет ip-адрес для установки соединения -E Производит запись сообщения в поток stderr -U имя_пользователя Задаёт имя пользователя для регистрации в удалённой системе -L хост Выдаёт удалённые ресурсы доступные на хосте -t терминальный_код Задаёт код терминала ввода-вывода(sjis,jis7,jis8,junet,euc,hex) -m макс)протокол Устанавливает максимальный уровень детализации сообщений протокола -w рабочая группа Задаёт имя рабочей группы -TЗадаёт командную строку операции -D каталог Определяет начальный каталог -c командная_строка Выполняет команды, разделённые точкой с запятой -b xmit/буфер_передачи И изменяет значение буфера передачи-отправки(по дефолту 65520) Теперь я приведу пример работы smbclient'a. smbclient -L 192.168.1.1 -U ino В ответ на эту строчку, высветится список ресурсов компа с ip-аДресом 192.168.1.1 smbclient \\192.168.1.1\public -U ino А вот так я подключусь к компу с ip-адресом 192.168.1.1 к папке public под пользователем iNo. После подключения появится приглашение сервера,чем-то схожее с ftp. Приведу описание основных команд: cd [имя_каталога] Изменяет каталог на сервере del маска Удаляет из текущего каталога(на сервере) все файлы с данной маской dir маска Показывает список файлов на сервере соответствующих маске exit Выход get удалённое_имя_файла Копирует файл с сервера [локальное_имя_файла] в локальную систему lcd [имя_каталога] Изменяет каталог локальной системы ls маска Выдаёт список файлов соответствующих маске mask маска Задаёт маску md имя_каталога Создаёт новый каталог на сервере. mget маска Копирует все файлы с указанной маской с сервера mkdir Аналогично md mput Копирует все файлы с указанной маской из локального каталога в удалённый print имя_файла Печать указанного файла rm маска Удаляет из текущего рабочего каталога сервера всех файлов, соответствующих маске rmdir имя_каталога Удаляет указанный каталог с сервера OUTTRO... Ну вот собственно и всё.Всё самое основное для работы с SAMBA я описал.Теперь ты спокойно можешь установить и настроить на компе сервер SAMBA.GL! Все отзывы/предложения принимаются по адресу: ino@kodsweb.ru [k0dsweb] kodsweb.ru
. мото, мопед: снегоходы.