Как зайти на samba через браузер

Обновлено: 16.07.2024

Один из наиболее стандартных способов взаимодействия по сети между компьютерами Ubuntu и Windows - это настройка Samba в качестве файлового сервера. Эта глава рассказывает как настроить Samba сервер для разделения файлов с клиентами Windows.

Сервер будет настроен на доступ к файлам для любого клиента в сети без запроса пароля. Если ваше окружение требует более строгого контроля доступа, смотрите раздел Защита серверов Samba.

Установка

Для начала установим пакет samba. Введите в терминале :

Это все, что требуется. Теперь вы готовы настраивать Samba для разделения файлов.

Настройка

Основной файл настройки Samba - /etc/samba/smb.conf. Изначальный файл конфигурации имеет значительное количество комментариев для документирования различных директив настройки.

Не все возможные опции включены в файле настроек по умолчанию. Смотрите руководство man smb.conf или Сборник ЧаВо по Samba для уточнения деталей.

1. Сначала измените следующие пары ключ/значение в секции [global] файла /etc/samba/smb.conf:

Параметр security находится значительно ниже в секции [global] и по умолчанию закомментирован. Также замените EXAMPLE на что-то более соответствующее вашему окружению.

2. Создайте новую секцию в конце файла или раскомментируйте один из примеров для каталога, который нужно настроить на общий доступ:

comment: короткое описание разделяемого ресурса. Используется для вашего удобства.

path: путь до разделяемого каталога.

Этот пример использует /srv/samba/sharename поскольку, в соответствии со стандартом иерархии файловых систем (FHS), каталог /srv - это место, где должны находится все данные, относящиеся к данному сайту. Технически разделяемый ресурс Samba может быть размещен в любом месте файловой системы, где позволяют файловые ограничения доступа, но следование стандартам рекомендуется.

browsable: позволяет клиентам Windows просматривать содержимое разделяемого каталога с помощью проводника Windows.

guest ok: позволяет клиентам подключаться к разделяемому ресурсу без указания пароля.

read only: определяет доступность ресурса только на чтение или с привилегиями на запись. Привилегии на запись доступны только при указании no, как показано в данном примере. Если значение yes, то доступ к ресурсу будет только на чтение.

create mask: определяет какие права доступа будут установлены для создаваемых новых файлов.

3. Теперь, поскольку Samba настроена, требуется создать каталог и установить на него права доступа. Введите в терминале:

параметр -p говорит mkdir создать полное дерево каталога, если оно не существует.

4. Наконец, перезапустите сервисы samba для применения новых настроек:

Еще раз: данная конфигурация предоставляет полный доступ любому клиенту в локальной сети. Для более безопасной настройки смотрите раздел Защита серверов Samba.

Теперь вы можете находить Ubuntu файл сервер с помощью клиента Windows и просматривать его разделяемые каталоги. Если ваш клиент не показывает ваши разделяемые ресурсы автоматически, попробуйте обратиться к вашему серверу по его IP адресу, например, \\192.168.1.1, из окна проводника Windows. Для проверки, что все работает, попробуйте создать каталог внутри вашего разделяемого ресурса из Windows.

Для создания дополнительных разделяемых ресурсов создайте новую секцию [dir] в /etc/samba/smb.conf и перезапустите Samba. Просто убедитесь, что разделяемый каталог создан и у него корректные права доступа.

Разделяемый ресурс "[share]" и путь /srv/samba/share - это просто примеры. Установите название ресурса и имя каталога в соответствии с вашим окружением. Хорошей идеей является использование в качестве названия ресурса имени его каталога в файловой системе. Другими словами ресурс можно указать как [qa] для каталога /srv/samba/qa.

Ссылки

Для более глубокого изучения настроек Samba смотрите Сборник ЧаВо по Samba.

проще у 2 коммутатора укажи маршрут по умолчанию = 1 коммутатор(192,168,0,1) и подключай комп всегда ко 2 коммутатору.
"и твои волосы станут шелковистыми"

ЗЫ: проще одному коммутатору ставить адрес 0,1, второму 0,2 а не 1,1

Ответ зависит от того, зачем вообще нужен второй роутер.

В первом приближении - я бы заменил второй роутер на свич с нужным числом портов (нынче это совсем недорого). Одним портом свич воткнуть в первый роутер - и всё работает. (Первый роутер должен иметь кабельные порты для LAN, а не только WiFi и кабельный порт наружу.)

Соединять роутеры "LAN-LAN" проблематично - в настройке по умолчанию на обоих работает DHCP-сервер, а иметь два DHCP-сервера в одной сети - нужна сложная настройка, без неё будет очень плохо.

На всякий случай сообщу, что роутеры обычно умеют работать в режиме свича. Но это не стандартный режим, его надо настраивать.

На первом роутере отсутствуют usb порты, а докупать дополнительное оборудование, на данный момент,не представляется возможным(пока делаем все из г*вн@ и палок). Я предполагаю что мне нужен DHCP сервер только на главном роутере (по крайней мере на сколько я понял из гайдов). Делаешь на первом и втором одну суть (например 192.168.1.0/24)
Назначаешь разные IP например( например 192.168.1.1 и 192.168.1.2)
На втором отключаешь DHCP, на первом настраиваешь DHPC на диапазон (например 192.168.1.10-192.168.100)
Соединяешь роутеры lan-lan.
Вуаля у тебя в одной сети два роутера. Это конечно работает, но как теперь получить доступ к samba серверу? Раньше все работало при поключении к сети роутера2 и ввода smb://192.168.1.1, а сейчас на какой адрес подключаться? Eсть такие подключения Роутер1-Роутер2, Роутер1-UbuntuPC, Роутер2-UbuntuPC.
В списке клиентов DHCP на основном роутере1 не отображается роутер2, но присутствует подключение компа через него.

sagemcom-fst-2804-v5-18.jpg

Роман,

Вот как на картинке, назначь там ip и по этому ip заходи (само собой ip должен быть не из диапазона (то есть не должно быть ещё устройств с таким ip))

Командная строка не всегда требуется даже для тонкой настройки Samba. Во многих случаях графического интерфейса Samba вполне достаточно. Для Samba существует несколько оболочек, в том числе и представленных в виде web-интерфейсов, о которых я и расскажу в этой статье.

GAdmintools - это набор графических утилит, предназначенных для управления различными серверными службами. В этот набор входит и программа для настройки Samba.

Устанавливается, как всегда, просто:

После установки идем в меню приложений и обнаруживаем пополнение:

GAdmintools

GAdmintools

Несмотря на внешнюю простоту, настроек даже не просто много, а очень много. О некоторых из них я рассказывал в предыдущих статьях. Справа вверху отображается текущее состояние сервера. Все, что касается самого сервера, настраивается на первой вкладке. Здесь же можно изменить команды, которые будут выполняться при управлении пользователями, указать альтернативное расположение важных файлов и директорий и т. д.

На следующих вкладках находятся настройки пользователей, общедоступных папок и многого другого. Последняя вкладка (Configuration) содержит текущий файл smb.conf. Сюда можно заглянуть, чтобы проверить состояние нужных вам параметров или изменить их вручную.

Если от количества настроек в предыдущей утилите вам стало не по себе, System-config-samba — именно то, что требуется. Установим:

SystemError: could not open configuration file `/etc/libuser.conf': Нет такого файла или каталога

Если файла нет, создадим его сами:

Утилита touch была разработана, прежде всего, для того, чтобы менять время последнего доступа к файлу. Если указанный файл отсутствует, она его создает. Данной особенностью мы и воспользовались.

После этой нехитрой манипуляции программа уже запускается без проблем.

System-config-samba

Интерфейс крайне минималистичен. Даже начинающему пользователю процесс настройки не покажется слишком уж сложным. В основном окне располагается список общедоступных каталогов и ряд базовых параметров. Чтобы изменить параметры любого из них, нажмите на значок шестеренки. В окнах добавления и редактирования общих папок тоже ничего лишнего: путь, отображаемое название, описание, доступность для записи. Опция видимости соответствует параметру browseable из конфига. На вкладке Доступ выбираем, каким пользователям будет доступна директория.

Еще один серьезный инструмент, который можно использовать в том числе и для управления Samba. В отличие от всех предыдущих, доступ здесь предоставляется через web-интерфейс. Вообще, Webmin предназначен для удаленного администрирования сервера через браузер и содержит большое количество модулей для самых разных сервисов. В их числе присутствует и Samba. Нет смысла устанавливать Webmin только для того, чтобы расшарить пару папок, но если нужна возможность тонкой настройки, да еще с удаленным доступом, этот инструмент незаменим.

В репозиториях Ubuntu этот пакет отсутствует, поэтому добавим репозитории и ключи разработчиков. Открываем /etc/apt/sources.list и вставляем следующую строку:

Получаем GPG-ключ и устанавливаем его.

Далее обновляем список пакетов и устанавливаем Webmin:

Если используете UFW, не забудьте добавить соответствующее правило:

Браузер выдаст предупреждение о подозрительном сертификате. Добавляем в исключения, далее вводим имя пользователя, обладающего правами суперпользователя через sudo и его пароль. Видим панель управления.

System-config-samba

Из меню слева выбираем Servers→Samba Windows File Sharing.

System-config-samba

Попадаем в достаточно удобную, привлекательно выглядящую и богатую опциями панель управления Samba. Заодно можете ознакомиться и с другими пунктами в меню. Их количество зависит от того, что установлено в вашей системе.

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

О пользователях и паролях в Samba.

В качестве пользователей Samba рассматривает уже существующих пользователей Linux. Такой подход обусловлен тем, что подключившемуся необходимо выполнять какие-то действия — как минимум, чтение и, в некоторых случаях, запись. Чтобы система позволила ему это сделать, его необходимо аутентифицировать.

Пароль, в отличие от имени, необходимо установить отдельно. Делается это с помощью утилиты smbpasswd, с ее же помощью мы включаем (активируем) пользователя:

О пользователях и паролях в Samba

О пользователях и паролях в Samba

Вместо username подставьте имя нужного (и обязательно существующего!) пользователя Linux. В процессе потребуется дважды ввести пароль.

Если у вас или других пользователей есть компьютер с Windows, где имя пользователя отличается от используемого в Linux, очень удобно создать псевдоним (алиас), указав его в файле /etc/samba/smbusers. Эта же возможность пригодится и для того, чтобы позволить разным людям действовать от одного имени.

В Ubuntu 16.04 этот файл изначально отсутствует, но его легко создать самостоятельно. Внутрь нужно поместить строку примерно следующего содержания:

где user — имя пользователя на машине с Ubuntu, того самого, для которого мы только что создали пароль, а admin и vasiliy — псевдонимы, а точнее — имена пользователей на компьютерах с Windows. Теперь при подключении Samba будет знать, что admin — это известный ей пользователь user. Как видите, псевдонимов у каждого пользователя может быть несколько, а разделяются они пробелом.

После сохранения документа отредактируйте smb.conf, добавив в секции [global]:

иначе Samba ничего не узнает о добавленных псевдонимах.

В некоторых старых руководствах указывается, что пароли и имена пользователей Samba хранятся в файле /etc/samba/smbpasswd в зашифрованном виде. Однако на данный момент по умолчанию эти данные находятся в бинарном файле /var/lib/samba/private/passdb.tdb. Способ хранения этих данных определяет параметр passdb backend, расположенный в секции [global] в /etc/samba/smb.conf. Изменение его значения на smbpasswd заставит Samba снова использовать упомянутый выше текстовый файл. Можно также указать значение ldapsam и далее, через пробел - адрес хранилища, к которому нужно подключиться с помощью LDAP.

Создание скрытой сетевой папки с ограниченным доступом.

Перейдем к практической части и создадим сетевую директорию, которая будет доступна только определенным пользователям, а для всех остальных будет оставаться не только недоступной, но и невидимой.

Если папка еще не существует, создайте ее и убедитесь, что она доступна для записи и чтения нужным пользователям. Теперь добавим новый раздел в наш smb.conf с примерно следующим содержанием (не забудьте подставить свои данные):

Параметр browseable, как уже упоминалось в прошлой статье, определяет, будет ли видна расшаренная папка всем подключившимся. Выставив отрицательное значение, мы делаем ее невидимой. Чтобы попасть внутрь, необходимо при подключении указать ее имя после адреса сервера, например так:

В примере выше есть несколько новых параметров:

  • read list — список пользователей, имеющих доступ только для чтения;
  • write list — пользователи, имеющие право записи;
  • valid users — ограничивает список пользователей, которые имеют право подключаться.

Таким образом, подключиться могут только user1, user2 и user3 и только при условии, что они знают о расшаренной папке, а user1 может только читать. Существует и способ запретить конкретным пользователям подключаться, для этого используйте опцию invalid users.

Если устройства в вашей сети имеют статические ip-адреса, можно указать их как разрешенные c помощью параметра hosts allow, либо, наоборот, запретить, прописав их после hosts deny.

Напоследок пример работающей конфигурации и результат — в списке доступных директорий my_super_secret_share не отображается, но в нее можно перейти.

Создание скрытой сетевой папки с ограниченным доступом

Создание скрытой сетевой папки с ограниченным доступом

Создание скрытой сетевой папки с ограниченным доступом

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

Читайте также: