| ||||||||||||||||
![]() | ||||||||||||||||
| ||||||||||||||||
![]() | ||||||||||||||||
| ||||||||||||||||
![]() |
Файловый сервер под SAMBA? Без проблем ВНИМАНИЕ: при использовании данной статьи в целях создания и разработки своего файлового сервера под управлением пакета Samba, ОЧЕНЬ РЕКОМЕНДУЕТСЯ прочитать SMB-HOWTO, NET-HOWTO, а также использовать команды man smbclient и man smbmount для более подробной информации. В данной статье речь пойдет о настройке файлового сервера под управлением Samba. Причем, здесь будут даны только начальные сведения по настройке Samba. Более подробнее об этом можно узнать в SMB-HOWTO, а также в NET-HOWTO. Ну а в этой статье я попробую ввести начинающих пользователей Linux в процесс установки своего собственного файлового сервера под управлением То, что 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 Характер предоставляемых ресурсов и разрешений на их использование определяется файлом /etc/smb.conf. Данный файл имеет очень большое значение при настройке Samba. Ниже я приведу "примитивный пример" файла smb.conf и попытаюсь вкратце описать функции той или иной строки. Все разделы в файле smb.conf разбиты по спецификации и заключены в прямоугольные скобки [ ]. Отдельные записи созданы в соответствии с формулой Set_name = значение. Первый раздел именуется [global] [global] Теперь попытаемся разобраться со всеми этими записями. Запись 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] Пояснения. В качестве имени сетевого ресурса, Samba использует имя пользователя, относящегося к числу "родных" ("своих"). Следовательно, запись browserable = yes обеспечивает отображение в сети Windows совместно используемых каталогов. Следующая запись read only = no обеспечивает возможность записи в каталогах (если здесь no поменять на yes, тогда записывать в каталоги не будет возможности). Проблемы Проблема № 1. Закодированные пароли С появлением Windows NT 4 (ох уж этот Windows) в операционных системах Microsoft происходит передача закодированных паролей по сети. Этот процесс происходит так же, как и в среде Windows 98 (начиная с Что же делать? Так как безвыходных ситуаций не бывает (хотя, чем 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-серверу,то стоит задуматься о более эффективном выходе из сложившейся ситуации. |
|
![]() | ||||||||||||||||
| ||||||||||||||||
![]() | ||||||||||||||||
|