Все о Linux. LinuxRSP.Ru
Альт Линукс СПТ 6.0 Сертификат ФСТЭК

Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

В GIMP наконец-то появилась обработка с точностью 16 и 32 разряда на канал

В одном окне: GIMP 2.8

Релиз OpenBSD 5.1

HTML-редактор: BlueGriffon 1.5

Релиз Xfce 4.10

Команда Chromium представила кластер для автоматизации выявления уязвимостей

В Microsoft Office 15 будет обеспечена поддержка формата ODF 1.2

Анонсирован новый свободный анимационный фильм Tube

Обновление ядра: Linux 3.0.29, 3.2.16, 3.3.3

Представлен OpenSSH 6.0

Релиз графического редактора Pinta 1.2, претендующего на роль аналога Paint.NET

Вышел Firefox 12

Google прекращает поддержку Linux-версии приложения Picasa

Эмулятор приставок: Mednafen 0.9.21-wip

Линус Торвальдс получил премию Millennium Technology Prize 2012

Canonical не заинтересована в участии в разработке ядра Linux

Распределенные вычисления: BOINC 7.0

Google

 Новые статьи :

Передача снапшота ZFS по сети

Правила хорошего тона: SSH

Некоторые рассуждения о защите от ddos на примере защиты от SSL denial of service attack

Быстрый проброс портов на шлюзе во внутреннюю сеть или на другой хост. Быстро NAT'им порты. rinetd.

NAT'им отдельные порты или "а что делать, если мой веб-сервер внезапно переехал на другую машину". Проброс портов в локалке на шлюзе наружу.

Как справляться с запланированной недоступностью веб-сайта

Архитектура Google 2011

Мониторинг Nginx с помощью MRTG

Решение проблем при использовании "1c предприятие" 8.2 в Linux

25 правил .htaccess, которые должен знать каждый web-разработчик

Централизованное резервное копирование данных Windows и *nix серверов средствами Bacula

Краткое руководство по GNOME Shell в Ubuntu 11.10

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки

   Дистрибутивы и атрибутика



DeveloperWorks Россия





Rambler's Top100


 
 


Файловый сервер под SAMBA? Без проблем!
     

Юрий Лушня

ВНИМАНИЕ: при использовании данной статьи в целях создания и разработки своего файлового сервера под управлением пакета Samba, ОЧЕНЬ РЕКОМЕНДУЕТСЯ прочитать SMB-HOWTO, NET-HOWTO, а также использовать команды man smbclient и man smbmount для более подробной информации.

В данной статье речь пойдет о настройке файлового сервера под управлением Samba. Причем, здесь будут даны только начальные сведения по настройке Samba. Более подробнее об этом можно узнать в SMB-HOWTO, а также в NET-HOWTO. Ну а в этой статье я попробую ввести начинающих пользователей Linux в процесс установки своего собственного файлового сервера под управлением Samba, а так же попытаюсь остановиться на некоторых аспектах файла smb.config.

То, что Linux может работать продолжительно и бесперебойно - это ФАКТ. Возникает вопрос: почему бы не оснастить какую-нибудь "четверку" Linux'ом и не сделать из нее сервер? Наверное, это не плохое предложение. Более того, большинство знакомых мне администраторов сети так и делают.

Попробуем реализовать данную догадку на базе пакета Samba. Данный пакет работает на основе протокола SMB. Очень много плюсов он заслуживает за широкую распространенность и нетребовательность к ресурсам (достаточно наличия компьютера на базе 80486 и 4 МБ оперативной памяти *вот до чего техника дошла :)*).

Первым делом инсталлируем пакет Samba. Данный пакет состоит из двух отдельных программ (демонов): smbd (носитель протокола SMB) и nmbd (поддержка имен NetBIOS). Сначала их нужно правильно сконфигурировать и запустить. Только тогда ваша система (Linux) будет отображаться в сети.

Есть несколько вариантов загрузки smbd и nmbd демонов. Один из них, это когда запуск демонов производится автоматически при инсталляции. Если же вам это не нравится, то можно использовать сценарий Start-and-Stop в каталоге /etc/rc.d/init.d. Данный сценарий используется для загрузки вышеописанных демонов в память. Если и это не подходит, тогда используйте Super-Demon Inetd (конфигурационный файл /etc/inetd.conf). При использовании последнего будьте предельно внимательны и из соображений безопасности лучше используйте (при запуске посредством inetd) TCP-Swapper. Этот модуль фильтрует поступающие запросы в соответствии с записями в файлах /etc/hosts.allow и /etc/hosts.deny, которые разрешают другим компьютерам доступ к системе (allow) или запрещают его (deny). На основе всего этого попробуем сделать корректные (правильные) записи в файл /etc/inetd.conf. Они будут выглядеть следующим образом:

netbios-ssn stream tcp nowait root

usr/sbin/tcpd/usr/sbin/smbd

или же

netbios-ns dgram udp wait

root/usr/sbin/nmbd nmbd

Характер предоставляемых ресурсов и разрешений на их использование определяется файлом /etc/smb.conf. Данный файл имеет очень большое значение при настройке Samba. Ниже я приведу "примитивный пример" файла smb.conf и попытаюсь вкратце описать функции той или иной строки.

Все разделы в файле smb.conf разбиты по спецификации и заключены в прямоугольные скобки [ ]. Отдельные записи созданы в соответствии с формулой Set_name = значение.

Первый раздел именуется [global]

[global]
guest account = guest
security = share
printing = bsd
printcap name = /etc/printcap
load printers = yes

Теперь попытаемся разобраться со всеми этими записями. Запись guest account = guest говорит о том, что пользователи получают доступ без регистрации согласно учетной записи пользователя-гостя (guest). Наверное, все-таки есть смысл оставить эту запись (у меня, например, таковая имеется в /etc/smb.conf). Но все же следует приделать внимание и осторожность при предоставлении прав доступа записи пользователя-гостя.

Дальше следует запись security = share. Она определяет, каким образом задается имя пользователя. Что это такое? В security можно задать одно из трех значений: share, user, server. Если указывается в качестве значения security = share, то при каждом доступе запрашивается имя пользовательского ресурса. Запись security = user задействует имя пользователя компьютера Windows (нужно указать имя пользователя, под которым вы входите в сеть Windows. Пароль - соответственно). И, наконец, если security = server, тогда данная запись использует для проверки пароля возможности NT-Server.

Переходим ко второму разделу файла smb.conf. Этот раздел называется [directory] и служит для совместного доступа к каталогам. Для совместного использования отдельного каталога необходимо указать полный путь к этому каталогу. При этом воспользуемся следующей последовательностью записей:

[directory]
comment = elk's directory #комментарий
path = совместно используемый каталог
read only = yes

Здесь запись path устанавливает, какой каталог должен использоваться совместно (например, /usr/doc/SMB-HOWTO). Ресурсы, предоставляемые для совместного использования, должны иметь отдельную запись для каждого каталога. Для собственных же каталогов пользователей коллективный доступ реализуется следующим образом:

[homes]
comment = #здесь можно написать комментарий
browserable = yes
read only = no

Пояснения. В качестве имени сетевого ресурса, Samba использует имя пользователя, относящегося к числу "родных" ("своих"). Следовательно, запись browserable = yes обеспечивает отображение в сети Windows совместно используемых каталогов. Следующая запись read only = no обеспечивает возможность записи в каталогах (если здесь no поменять на yes, тогда записывать в каталоги не будет возможности).

Проблемы

Проблема ╧ 1. Закодированные пароли

С появлением Windows NT 4 (ох уж этот Windows) в операционных системах Microsoft происходит передача закодированных паролей по сети. Этот процесс происходит так же, как и в среде Windows 98 (начиная с NT Service Pack 3). К сожалению, Samba не поддерживает ЭТОГО.

Что же делать? Так как безвыходных ситуаций не бывает (хотя, чем Windows не шутит :), то попытаемся что-то сделать.

Рабочее окружение формируется с помощью записи в системном реестре (Windows): создаем запись типа DWORD в ключе (для Windows NT 4) HKEY_LOCAL_MACHINE\System\Current ControlSet\Services\Rdr\Parameters или же (для Windows 95/98) HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\VxD\Parameters. Даем ей название EnablePlainTextPassword и присваиваем значение 1.

Это один из способов решения данной проблемы. Кроме этого, можно установить себе последнюю версию пакета Samba (например, 2.05а), которая поддерживает закодированные пароли.

Но, и в том и другом случае управление пользователями должно происходить с помощью команды smbpassword, а в файл smb.conf должна добавляться запись encrypt passwords = yes.

Проблема ╧ 2. Использование Windows-машин из Linux

Вряд ли начинающие пользователи Linux OS смогут быстро разобраться с системой доступа к Linux-файлам из под Windows и наоборот.

Но, не все так сложно. Доступ к Linux-ресурсам из под Windows был кратко описан выше, а доступ к Windows-ресурсам из под Linux'а мы сейчас рассмотрим.

Программа smbclient, вызываемая с различными параметрами (справка вызывается командой man smbclient), делает ресурсы Windows доступными из Linux. Тем пользователям, которые работали с Ftp, данная программа не покажется сложной. С помощью smbclient вы можете проверять также конфигурацию собственного Samba-сервера или другие компьютеры вашей сети. Делается это при помощи команды smbclient -L компьютер -U имя_пользователя

Можно также непосредственно встроить сетевые ресурсы Windows или Samba с помощью команды smbmount:

smbmount//имя_компьютера/каталог/Mountpoint -U имя_пользователя

И заключение. Можно с уверенностью сказать, что настройка своего файлового сервера под Linux - "дело популярное". Если же еще и учесть, что NT- и Samba-сервер в одной сети с трудом терпят друг друга (Windows:) есть Windows:), поскольку Samba в конкурентной борьбе за домены имеет приоритет по отношению к NT-серверу,то стоит задуматься о более эффективном выходе из сложившейся ситуации.

Все предложения и замечания принимаются по этому адресу

   


      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2012 LinuxRSP


Реклама: