Перейти к содержимому раздела Linux Forum Форум о Linux Форум Пользователи Правила Поиск Регистрация Вход Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь. Активные темы Темы без ответов Сетевой диск (samba) Linux Forum Проекты пользователей LinuxForum Сетевой диск (samba) Страницы Чтобы отправить ответ, вы должны войти или зарегистрироваться РСС Сообщений 7 Тема от forkostya 2010-04-28 03:50:02 forkostya Пользователи Неактивен Сообщений: 120 Репутация : [ Тема: Сетевой диск (samba) Статья уже давно висит недописанная, но т.к. никто не хочет её дописывать, решил выложить, вдруг кому пригодится, или помощники найдутся. Автор: Кузнецов Константин [size=7]Сетевой диск (samba)[/size] План: 1. Введение 2. Сведения о пакете SAMBA 3. Настройка анонимного samba-сервера 4. Настройка samba для авторизованного доступа 5. Дополнительные возможности 6. Используемые и рекомендуемые источники ---------------------------------------------------------------------------------------- [size=6]1. Введение[/size] Многие сталкивались с работой с данными по сети через "сетевое окружение". Сразу же вспоминаются такие термины, как "расшарить каталог" и "сетевой принтер". Все это относится к протоколу SMB Материал из Википедии — свободной энциклопедии SMB (сокр. от англ. Server Message Block) — сетевой протокол прикладного уровня для удалённого доступа к файлам, принтерам и другим сетевым ресурсам, а также для межпроцессного взаимодействия. Первая версия протокола была разработана компаниями IBM, Microsoft, Intel и 3Com в 1980-х годах; вторая (SMB 2.0) была создана Microsoft и появилась в Windows Vista. В настоящее время, SMB связан главным образом с операционными системами Microsoft Windows где используется для реализации «Сети Microsoft Windows» (англ. Microsoft Windows Network) и «Совместного использования файлов и принтеров» (англ. File and Printer Sharing). Для реализации этого протокола (как серверной его части, так и клиентской) в операционной системе Linux присутствует программное обеспечение SAMBA Материал из Википедии — свободной энциклопедии Samba — программа, которая позволяет обращаться к сетевым дискам на различных операционных системах по протоколу SMB/CIFS. Имеет клиентскую и серверную части. Является свободным программным обеспечением, выпущена под лицензией GPL. Начиная с третьей версии Samba предоставляет службы файлов и печати для различных клиентов Microsoft Windows, и может интегрироваться с операционной системой Windows Server, либо как основной контроллер домена (PDC), либо как член домена. Она также может быть частью домена Active Directory. Samba работает на большинстве Unix-подобных систем, таких как GNU/Linux, POSIX-совместимых Solaris и Mac OS X Server, на различных вариантах BSD; в OS/2 портирован samba-клиент, являющийся плагином к виртуальной файловой системе NetDrive. Samba включена практически во все дистрибутивы GNU/Linux. О настройке данного инструмента мы поговорим в этой статье. ---------------------------------------------------------------------------------------- [size=6]2. Сведения о пакете SAMBA[/size] Пакет SAMBA дает нам возможность выступать в локальной сети в качестве smb-сервера, т.е. предоставлять доступ к некоторым данным. Конфигурационный файл /etc/samba/smb.conf имеет следующий синтаксис: [секция1] опция1 = значение опция2 = значение [секция2] опция1 = значение опция2 = значение При этом, согласно man smb.conf , имеются три зарезервированные секции: [global] , [homes] и [printers] Секция [global] определяет некоторые опции, значения которых будут распространяться на все остальные секции, если в них явно не указано обратное. Секция [homes] позволяет предоставить удаленным пользователям доступ к своим (и только своим) домашним директориям. Так что, если пользователи попытаются подключиться к этому сетевому ресурсу (адрес smb://server/username/ или \\server\username), то они будут подключены к персональным домашним директориям, закрепленным как "домашний каталог" за пользователем, под учетной записью которого они зарегистрировались на samba-сервере. Заметим, что для того чтобы удаленный пользователь мог авторизоваться на samba-сервере, мало добавить соответствующего пользователя в систему (useradd), необходимо еще создать samba-пароль для этого пользователя (smbpasswd), который может отличаться от системного (passwd). Секция [printers] отвечает за определение опций доступа к принтеру по сети, но это мы рассматривать не будем, уж больно сложно там для меня все. С помощью SAMBA можно настроить наш сервер как PDC (Primary Domain Controller) ( ссылка ), в этом случае добавляются еще две зарезервированные секции: [netlogons] и [Profiles] Остальные секции, например [somesection] будут соответствовать шарам, т.е. клиент на данном компьютере увидет шару somesection с правами, описанными в данной секции. При всем при этом обращаю внимание на то, что все опции делятся на 3 типа: 1) употребляемые исключительно в секции [global], они в мане отмечены (G) 2) употребляемые исключительно в шаровых секциях (S) 3) употребляемые везде (никак не помечены). Так же упомяну одну интересную опцию, смысл которой необходимо понять и запомнить - security (G). Она может принимать следующие значения: 1) security = share В этом случае доступ к нашему серверу будет открыт как для зарегистрированных, так и для анонимных пользователей 2) security = user Доступ только зарегистрированным пользователям - при подключении к серверу или к шаре будет сразу же появляться приглашение авторизоваться. 3) security = server не рассматривается в данной статье 4) security = domain не рассматривается в данной статье С этим понятно. Приступим к настройке. ---------------------------------------------------------------------------------------- [size=6]3. Настройка анонимного samba-сервера[/size] Если наш конфигурационный файл будет совсем пустым, то служба включится, к компьютеру можно будет подключиться по протоколу SMB с правами системного (существующего в системе) пользователя, но смысла от такой настройки нет, т.к. никаких общих ресурсов мы не увидим. Итак, добавляем первые опции в файл конфигурации: [global] # рабочая группа, в которой будет виден наш сервер workgroup = WORKGROUP # сетевое имя компьютера netbios name = SERVER # тип предоставления доступа security = share После чего можно нормально (анонимно) зайти на сервер, но шар все еще нет. Добавляем: # имя сетевого ресурса, под которым он будет виден по сети [share] # комментарий, его можно не писать comment = share # путь к каталогу, содержимое которого будет отображаться в данной шаре path = /home/ftp/upload После перезапуска сервиса мы анонимно сможем зайти на сервер и увидеть там шару "share", но зайти в неё не сможем, так как согласно man smb.conf по умолчанию у нас guest ok = no и guest only = no, что запрещает доступ анонимным пользователям к шаре. Как же так, вы же сами сказали Секция [global] определяет некоторые опции, значения которых будут распространяться на все остальные секции, если в них явно не указано обратное. Мы в неё записали security = share, и явно обратное у нас не указано. Так то оно так, но опция security определяет тип авторизации при подключении к серверу, а guest ok и guest only - к шаре, и в данном случае они друг к другу никак не относятся и отменять друг друга не могут. Продолжим. Подключиться к такой шаре сможет только авторизованный пользователь, но т.к. у нас security = share, то у нас при подключении к серверу не спрашивают логин и пароль. Для анонимного доступа к шаре необходимо добавить опцию "guest ok = yes" в глобальную секцию либо в секцию шары. Название опции говорит само за себя - разрешить подключаться гостям (анонимным пользователям). Значит теперь к этой шаре могут подключаться пользователи и гости. Если мы хотим, чтоб подключались ТОЛЬКО гости, добавляем "guest only = yes". [global] workgroup = WORKGROUP netbios name = SERVER security = share [share] comment = share
Материал сокращён при переносе в новую базу знаний. Полная версия сохранена в архиве старого сайта.