как пользоваться samba на windows

Samba-сервер в локальной сети с Linux и Windows

Файловый сервер работает по протоколу SMB/CIFS и позволяет предоставить доступ к общим ресурсам в локальной сети, например, текстовым файлам или сетевым принтерам. Для его развертывания на Windows используются штатные средства ОС, на Linux используется файловый сервер Samba.

В инструкции рассмотрена настройка файлового сервера на серверах с операционными системами Linux и Windows. На сервере будет находиться 2 каталога – публичный и приватный. К файловому серверу подключение будет происходить как с операционной системы Windows, так и с Linux, т.к. в виртуальной или физической локальной сети могут находиться серверы с разными ОС.

как пользоваться samba на windows

Создание и настройка частной сети

Для начала в панели управления должны быть созданы все необходимые для сети серверы.

После создания необходимо объединить все машины в единую локальную сеть через панель управления в разделе Сети. В результате серверы получат локальные IP-адреса.

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

Настройка файлового сервера

Прежде всего, необходимо определиться, на сервере с какой операционной системой будет находиться общий каталог.

Подготовка системы

Прежде чем приступать к работе продумайте схему хранения данных и доступа к ним. Существую разные типы данных, которые мы будем характеризовать по интенсивности доступа к ним, скажем “холодные данные” отличаются тем, что обращения к ним происходят крайне редко (а к некоторым вообще никогда), но при этом они могут занимать значительные объемы. Это прежде всего резервные копии, инсталляционные пакеты, образа дисков и т.д. и т.п.

Противоположность им “горячие данные” – это данные которые интенсивно используются и изменяются, для файлового сервера примером таких данных может служить файловая информационная база 1С:Предприятия. Между ними находятся обычные данные, характер доступа к которым не имеет каких-либо особенностей.

Исходя из типа данных следует выбирать диски для хранения, для “горячих данных” это должны быть быстрые диски или SSD, а для “холодных” подойдут экономичные модели с упором на большой объем. Также не забывайте про RAID, для защиты данных от аппаратного выхода дисков из строя.

Также продумайте структуру директорий и прав доступа к ним. Разумно будет исходить из следующих соображений: разделяйте диски с данными и системой, чтобы при необходимости можно было заменить их без лишних затруднений или перенести на другой сервер. Храните разные типы данных на разных дисках или разделах, скажем, если на разделе для резервных копий закончится свободное место, то это никак не повлияет на работу баз 1С.

В нашем примере мы будем использовать виртуальную машину с двумя жесткими дисками, один для системы, второй для данных, точку монтирования диска для данных мы указали как /samba, вы можете использовать другое имя и расположение.

как пользоваться samba на windows

Также обратите внимание на имя компьютера, Samba 4 будет использовать его в качестве NetBIOS имени.

После установки ОС следует изменить настройку лимита на количество одновременно открытых файлов, в Linux это 1024, а в Windows 16384. Для этого откройте файл /etc/security/limits.conf и добавьте в конце две строки:

* – nofile 16384
root – nofile 16384

После чего сервер следует перезагрузить.

Настройка файлового сервера на Linux (Debian/Ubuntu)

Для развертывания файлового сервера на системах Linux используется инструмент SAMBA. Ниже перечислены действия по его установке и настройке.

Прежде всего следует обновить локальную базу пакетов:

Далее установите пакеты из главного репозитория:

Создайте резервную копию файла конфигурации Samba:

cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

Создайте или выберете директорию, к которой все пользователи будут иметь общий доступ:

Перейдите к этому каталогу и измените режим доступа и владельца:

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

Создайте группу пользователей, которые будут иметь доступ к приватным данным:

Создайте нужных пользователей с помощью команды useradd:

Добавьте созданных пользователей в группу:

Измените группу, которой принадлежит приватная директория:

chgrp smbgrp /samba/private

Задайте пароль, с помощью которого пользователь будет подключаться к каталогу:

Откройте файл конфигурации на редактирование с помощью текстового редактора, например nano:

Замените содержимое файла на следующие строки:

[global]workgroup = WORKGROUP
security = user
map to guest = bad user
wins support = no
dns proxy = no
[public]path = /samba/public
guest ok = yes
force user = nobody
browsable = yes
writable = yes
[private]path = /samba/private
valid users = @smbgrp
guest ok = no
browsable = yes
writable = yes

Сохраните внесенные изменения, нажав CTRL+X, затем Enter и Y.

Значения параметров выше:

Проверить настройки в smb.conf можно с помощью команды:

Чтобы изменения вступили в силу, перезапустите сервис:

service smbd restart

Далее нужно настроить firewall, открыв порты, которые использует SAMBA. Настоятельно рекомендуем разрешить только подключения из локального диапазона IP-адресов или виртуальной частной сети. Адресное пространство вашей частной сети вы можете увидеть в панели управления 1cloud.

Замените значение параметра –s в правилах ниже для соответствия адресному пространству вашей частной сети. Как правило префикс сети /24, если вы явно не подразумеваете иного:

Теперь необходимо сделать так, чтобы указанные выше правила фаервола iptables были сохранены после перезагрузки машины. Для это установим пакет iptables-persistent:

apt-get install iptables-persistent

После установки откроется окно с предложением последовать запомнить текущие правила iptables для IPv4 и IPv6. Подтвердите это действие.

Проверить актуальные правила iptables можно командой:

В выводе команды вы должны увидеть ранее добавленные разрешающие политики (Accept).

Настройка общего ресурса с гостевым доступом

Начнем с самого простого варианта – создадим общий ресурс, доступ к которому может иметь любой пользователь. Для этого добавим в конец файла /etc/samba/smb.conf следующие строки.

[public]comment = Shared for all
path = /samba/public
read only = no
guest ok = yes

В квадратных скобках задаем имя ресурса, все что ниже скобок – секция этого ресурса. В ней мы указали следующие опции:

Теперь создадим саму директорию:

и установим на нее необходимые права, для гостевого ресурса это 777:

chmod 777 /samba/public

Перезапускаем Samba и пробуем получить доступ с любого Windows-клиента.

как пользоваться samba на windows
Если все сделано правильно, то сервер появится в сетевом окружении, и вы без проблем получите доступ к созданной нами общей папке.

Настройка корзины для общего ресурса

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

Для активации корзины добавьте в секцию к общему ресурсу следующие строки:

Первая опция добавит в общий ресурс новый объект – корзину, вторая укажет ее расположение – скрытая папка в корне. Две следующих включают сохранение структуры папок при удалении и сохранение нескольких версий файла с одним и тем же именем. Это нужно в тех случаях, когда разные пользователи удалят разные файлы с одним и тем же именем.

Перезапустим Samba и попробуем что-нибудь удалить.

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

Как видим, работать с Samba не просто, а очень просто, при том, что мы оставили за кадром многие возможности тонкой настройки, многие из которых требуют отдельных статей. Надеемся, что данный материал окажется вам полезным и поможет быстро и без проблем развернуть файловый сервер на Linux.

Настройка общего публичного каталога на Windows

Для общего доступа к файлам по сети в Windows используются стандартные средства ОС.

как пользоваться samba на windows

Далее, чтобы настроить общий доступ к каталогу на Windows необходимо создать или выбрать нужный и открыть его свойства. В свойствах перейдите во вкладку Доступ (Sharing) и нажмите Расширенная настройка (Advanced Sharing).

как пользоваться samba на windows

В открывшемся окне отметьте галочкойОткрыть общий доступ к этой папке (Share this folder), для того чтобы она стала общедоступной. В полеИмя общего ресурса (Share name) введите имя, которое будет видно всем пользователям. Далее нажмитеРазрешения (Permissions)для настройки прав доступа.

как пользоваться samba на windows

Выберете нужные права доступа для всех пользователей (Everyone). НажмитеПрименить (Apply), чтобы изменения вступили в силу.

как пользоваться samba на windows

Теперь в свойствах каталога нажмитеОбщий доступ (Share).

как пользоваться samba на windows

В поле поиска введитеВсе пользователи (Everyone)и нажмитеДобавить (Add). Для полного доступа выберете праваRead/Writeи нажмите Поделиться (Share).

как пользоваться samba на windows

как пользоваться samba на windows

Теперь ваш каталог Windows доступен всем пользователям локальной сети без пароля.

Настройка общего ресурса с парольным доступом

Гостевой доступ это просто и удобно, но не всегда приемлемо. Существуют ситуации, когда доступ к общему ресурсу должны иметь только определенные пользователи. В нашем примере создадим два таких ресурса: для бухгалтерии и для IT-отдела.

Снова откроем конфигурационный файл и добавим в него две секции:

[buch]path = /samba/buch
read only = no
guest ok = no
[adm]path = /samba/adm
read only = no
guest ok = no

Они предельно просты и отличаются запретом гостевого доступа – guest ok = no. Для того, чтобы разделить доступ к ресурсам будем использовать группы пользователей, создадим две новые группы для наших подразделений:

groupadd smbbuch
groupadd smbadm

Теперь создадим каталоги:

mkdir /samba/buch
mkdir /samba/adm

и изменим группу владельца:

chgrp smbbuch /samba/buch
chgrp smbadm /samba/adm

Затем установим права:

chmod 2770 /samba/buch
chmod 2770 /samba/adm

Значение 2770 обозначает что мы предоставляем полные права владельцу и группе, для остальных доступ запрещен. А первая двойка устанавливает SGID для каталога, что обеспечивает присвоение группы каталога каждому создаваемому в нем файлу.

В некоторых случаях определенный интерес представляет выставление дял каталога sticky bit, который означает, что удалить или переименовать файл может только его владелец, но работать с ним, в том числе изменять, может любой пользователь, имеющий права записи в каталог. Для этого вместо набора прав 2770 используйте права 3770.

На этом настройки закончены, не забываем перезапустить Samba. Но в наших группах пока нет пользователей, давайте добавим их туда.

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

Затем добавим его в базу Samba:

При этом потребуется установить пароль для доступа к Samba-ресурсам, он должен совпадать с основным паролем пользователя. После чего включим эту учетную запись:

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

как пользоваться samba на windows

С настройками по умолчанию Samba предоставляет каждому существующему пользователю доступ только на чтение к его домашнему каталогу. На наш взгляд это довольно удобно и безопасно. Если вас не устраивает такое поведение – удалите из конфигурационного файла секцию [homes].

Теперь о других пользователях. Скажем у нас есть бухгалтер Иванова и админ Петров, каждый из которых должен иметь доступ к своему ресурсу. В тоже время иметь доступ к самому Samba-серверу им необязательно, поэтому создадим новых пользователей следующей командой:

Ключ -M заводит пользователя без создания домашнего каталога, а -s /sbin/nologin исключает возможность входа такого пользователя в систему.

Поместим каждого в свою группу:

Затем добавим их в базу Samba, при этом потребуется установить им пароли:

И включим эти учетные записи

Если все сделано правильно, то пользователь будет иметь доступ к своим ресурсам и не иметь к чужим.

как пользоваться samba на windows
Также обратите внимание, что несмотря на то, что общий ресурс с именем пользователя создан, доступ он к нему получить не сможет, так как физически его домашняя директория не существует.

Подключение к общему каталогу с помощью Linux

Чтобы подключиться к общему каталогу, необходимо установить клиент для подключения:

sudo apt-get install smbclient

Для подключения используйте следующий формат команды:

Также можно выполнить монтирование общего каталога, для этого установите дополнительный пакет утилит:

sudo apt-get install cifs-utils

Для монтирования используйте следующий формат команды:

Где – адрес машины, на которой расположена общая директория, а – путь до общей директории.

Если общий каталог находится на Linux?

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

как пользоваться samba на windows

P. S. Другие инструкции:

Как установить и настроить Samba в Ubuntu

Установка Samba на Ubuntu

Запустите терминал, нажав комбинации клавиш Ctrl + Alt + T, затем введите следующую команду для установки Samba.

sudo apt install samba

как пользоваться samba на windows

Проверьте установку Samba

Вы можете проверить, успешно ли Samba установлена ​​и работает, введя следующую команду. Он покажет статус службы Samba.

sudo systemctl status nmbd

как пользоваться samba на windows

Вы можете видеть, что Samba активна и работает.

Конфигурация Samba

Как только вы закончите установку, вам нужно будет ее настроить.

1. Сперва нам нужно создать каталог Samba, в котором будут храниться общие данные. Откройте Терминал и выполните следующую команду от имени sudo:

Это создаст новый подкаталог samba в корневом каталоге.

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

sudo cp /etc/samba/smb.conf /etc/samba/smb_backup.conf

3. Теперь отредактируем файл конфигурации. Он находится в каталоге /etc/samba/ в файле smb.conf. Вы можете использовать Gedit, Nano или Vim для его редактирования.

sudo nano /etc/samba/smb.conf

Теперь мы настроим наш новый каталог samba как общий ресурс. Добавьте следующие строки в конец файла smb.conf.

[samba-share]comment = Samba on Ubuntu
path = /samba
read only = no
browsable = yes

Нажмите Ctrl + O для сохранения и Ctrl + X для выхода.

Настройка учетной записи пользователя Samba

Теперь настроим учетную запись пользователя Samba. Samba использует системную учетную запись для доступа к общему ресурсу, но не принимает пароль системной учетной записи. Если пользователя в системе еще нет, его нужно создать.

sudo useradd username

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

Перезапуск Samba

После завершения всех настроек перезапустите службу Samba, выполнив следующую команду:

sudo systemctl restart smbd.service

Подключение к общему ресурсу Samba

Для доступа к файлам сервера Samba IP-адрес вашего сервера Samba и клиентов, подключающихся к нему, должны находиться в одной сети.

Например, в моем сценарии у меня есть сервер Samba и клиент Windows. Обе машины находятся в одной сети.

IP Samba (Сервер): 192.168.10.1/24
IP-адрес Windows (клиент): 192.168.10.201/24

Настройка IP-адреса сервера Samba

Вы можете проверить IP-адрес любой машины, запустив команду ip a в Терминале.

Подключение из Windows

Вы можете подключиться к общему ресурсу Samba из ОС Windows двумя способами: с помощью утилиты Run либо с использованием проводника

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

sudo nano /etc/samba/smb.conf

В разделе [global], убедитесь, что значение workgroup относиться к рабочей группе компьютеров Windows.

Прокрутите вниз к нижней части файла. (В текстовом редакторе nano, нажмите CTRL+W а затем CTRL+V.) Включите новый раздел, как показано ниже. Замените username на необходимое имя пользователя.

[Home Share ] comment = Home Public Folder path = /home/username/ writable = yes valid users = username

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

Создание пользователя

Samba содержит по умолчанию user в качестве режима защиты, означает, что клиенты должны ввести имя пользователя и пароль для доступа к общей папке. Чтобы добавить пользователя в Ubuntu, выполните следующую команду:

sudo adduser username

Вам будет предложено установить пароль Unix. Кроме того, необходимо установить отдельный Samba пароль для пользователя с помощью следующей команды:

Теперь все, что осталось сделать, это перезапустить демон smbd.

sudo systemctl restart smbd

Доступ Samba к общей папки из Windows

На компьютере Windows, который находится в той же сети, откройте проводник и нажмите Сеть на левой панели. Вы увидите сервер самбы. Дважды щелкните общую папку и введите имя пользователя и пароль.

Доступ Samba к ресурсу папке с компьютера Ubuntu

В диспетчере файлов, перейдите на вкладку Сеть на левой панели и выберите Сеть Windows.

как пользоваться samba на windows

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

как пользоваться samba на windows

Добавление нескольких пользователей или групп

Если нескольким учетным записям необходимо получение доступа к общей папке, то необходимо изменить правомерных пользователей, как показано ниже в файле /etc/samba/smb.conf.

valid users = user1, user2, user3

Также используйте smbpasswd для установки пароля Samba для каждого из этих пользователей.

Для того, чтобы разрешить группе пользователей получить доступ к общей папке, используйте следующую конфигурацию /etc/samba/smb.conf.

valid users = @sambashare

sudo groupadd sambashare

Затем добавьте в эту группу пользователей

Группа должна иметь разрешение на запись в общую папку, которая может быть достигнута при следующих двух команд.

Набор sambashare как владельца группы общей папки:

Предоставить право на запись в группе.

Настройка общих ресурсов Samba

У каждого ресурса есть свой раздел в файле конфигурации /etc/samba/smb.conf. Разделы ресурсов расположены после глобальных параметров и имеют следующий вид

[имя_ресурса] path = browseable = read only = force create mode = force directory mode = valid users =

share_name — имя ресурса, используемое при доступе.
path — полный путь к ресурсу в файловой системе.
browsable — опоеделяет видимость ресурса для других пользователей, но не дает им прав доступа.
read only — определяет возможность доступа на запись для пользователей, указанных в параметре valid users.
force create mode — задает указанные права доступа к любому файлу, создаваемому в ресурсе.
force directory mode — задает указанные права доступа к любой директории, создаваемой в ресурсе
valid users — список пользователей, имеющих доступ к ресурсу. Здесь можно указывать имена или группы, перед группами нужно указывать символ @, например, @admins.

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

[ivan] path = /samba/ivan browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = ivan @admins

Для ресурса everyone блок будет выглядеть следующим образом:

[everyone] path = /samba/everyone browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @admins

Все пользователи будут иметь доступ на чтение и запись, так как были добавлены в группу sambashare при создании. Теперь нужно протестировать параметры

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

как пользоваться samba на windows

После проверки конфигурации запустим сервер и добавим его в автозагрузку командой systemctl:

Сервер работает и готов принимать пользователей.

Настройка клиентов Samba

Для доступа к ресурсам из командной строки в Linux используется утилита smbclient. В большинстве дистрибутивов она не установлена по умолчанию, если нет то нужно воспользоваться менеджером пакетов:

$sudo apt-get install smbclient

В некоторых дистрибутивах может потребоваться создать файл /etc/samba/smb.conf, так как при его отсутствии будет выводиться сообщение об ошибке. Для доступа к ресурсу нужно выполнить следующую команду:

Например, для доступа к ресурсу ivan на сервере samba.example.com нужно ввести:

Далее потребуется ввести пароль, после чего появится интерфейс командной строки, похожий на интерфейс FTP:

как пользоваться samba на windows

Например, можно создать директорию:

smb: > mkdir test smb: > ls

как пользоваться samba на windows

Доступ из командной строки используется в основном для тестирования, на практике доступ чаще всего осуществляется из графических оболочек, например, KDE. Возможен также доступ из других платформ (Windows, MacOS).

Например для доступа с windows наберите в строке поиска \samba.example.comivan. И введите логин пароль

как пользоваться samba на windows

После чего вы сможете получить доступ к сетевым ресурсам.

как пользоваться samba на windows

Заключение

При помощи Samba мы создали мультиплатформенные сетевые ресурсы и протестировали доступ к ним. Ресурсы Samba очень распространены и могут использоваться различными приложениями. Например, VLC Player может проигрывать музыку и видео из ваших ресурсов Samba, а утилита резервного копирования BackupPC — записывать туда резервные копии.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *