Все о Linux. LinuxRSP.Ru


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


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

25 лет исполнилось ядру Linux

Релиз KDevelop 5.0

Oracle открывает код JDK9 для ARM

Выпущен Timewarrior 1.0.0

Релиз Android 7.0

Percona Memory Engine для MongoDB на базе WiredTiger

PowerShell открыт и доступен для Linux

Форк TrueCrypt: VeraCrypt 1.18

Релиз Snapcraft 2.14

Релиз Go 1.7

Стабильный выпуск рабочего стола Lumina

Вышла первая версия аналога OpenCV - DCV 0.1

Выпуск минималистичной программы для мониторинга jsonmon 3

В MIT разработали новый язык программирования

Первый релиз Qt5Gtk2

Godot 2.1 - новая версия открытого игрового движка

Свободная цифровая станция звукозаписи: Ardour 5.0

Обновление SkypeWeb Plugin for Pidgin

Вышла версия 3.0 Android File Transfer для Linux (и для OS X)

Программный аналог MIDI-контроллера для создания музыки: Launchpadd v1.3

Mozilla спонсирует поддержку Python 3.5 в PyPy

Ef 0.08 - программа для моделирования динамики заряженных частиц

Обновление текстового редактора TEA до версии 42.0.0

Релиз OpenOrienteering Mapper 0.6.4

Вышли Guix и GuixSD 0.11

Релиз Opera 39

Выпуск LibreOffice 5.2

В OpenSSH обнаружены и устранены некоторые уязвимости

Эмулятор FCEUX 2.2.3

Компания Билайн переходит на российскую СУБД с открытым исходным кодом Tarantool

Google

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

Утилиты для восстановления потерянных данных в Linux

Лучшие файловые менеджеры для Android

20 лучших бесплатных книг о Linux

Как сгенерировать открытый/закрытый SSH-ключ в Linux

Grive - клиент Google Drive для Linux с открытым исходным кодом

Протокол IPv6: варианты подключения

Сервер из образа: DHCP + TFTP + Initrd + OpenVZ

Обзор веб-панелей управления хостингом

Приёмы работы с Vim

Nginx как Reverse Proxy для сайта, использующего SSL

Разработка модулей ядра Linux

Мониторинг нагрузки http-сервера Apache 2

Перевод комментариев к файлу конфигурации Squid

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

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







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-2017 LinuxRSP