Настройка samba для работы в сети windows

Samba - серверное приложение, реализующее доступ клиентских терминалов к папкам, принтерам и дискам про протоколу SMB/CIFS. Рассмотрим настройку Samba для Linux и Windows.

Пожалуй нет ни одного офиса, в котором не применялись бы общие ресурсы локальной сети, будь то папки или принтеры. Крупные и средние компании используют возможности Active Directory, компании поменьше — используют штатные средства ОС Windows или Samba, но на серверах под управлением ОС Linux. Рассмотрим все случаи.

Как настроить Samba?

  • Что такое Samba?
  • Как настроить общую папку
  • Как настроить общую папку в Linux
  • Как настроить общую папку в Windows
  • Как подключиться к общей папке
  • Как подключиться к общей папке Linux
  • Как подключиться к общей папке Windows
  • Как создать общий сетевой ресурс в Samba

Что такое Samba?

Samba — серверное приложение, реализующее доступ клиентских терминалов к папкам, принтерам и дискам про протоколу SMB/CIFS.

Описание структуры Samba

Настройка общих папок

Linux

Установка и настройка Samba-сервер для Ubuntu выполняется следующими этапами.

Обновляем информацию о репозиториях и устанавливаем обновления для существующих пакетов в системе:

apt-get update && apt-get upgrade

Устанавливаем пакет Samba:

apt-get install -y samba samba-client

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

cp /etc/samba/smb.conf /etc/samba/smb.conf_sample

Создадим директории для файлов, например в каталоге /media:

mkdir /media/samba

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

Создаем каталог для всех пользователей:

mkdir /media/samba/public

Изменим права доступа к каталогу:

chmod -R 0755 /media/samba/public

Также следует воспользоваться командой chown для смены владельца и/или группы.

Создаем директорию для ограниченного круга лиц:

mkdir /media/samba/private

С помощью системных инструментов создадим группу пользователей:

groupadd smbgrp

Добавляем пользователей Samba:

useradd user1

Созданных пользователей добавляем в группу:

usermod -aG smbgrp user1

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

chgrp smbgrp /media/samba/private

С помощью инструментов Samba создадим пароль для добавленного пользователя:

smbpasswd -a user1

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

nano /etc/samba/smb.conf

Удаляем все строки из файла. Вставляем следующие:

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

Сохраняем используя сочетание Ctrl + X, затем нажимаем Y и Enter.

Объясним значения строк. конфигурационный файл состоит из трех секций:

global — данная секция отвечает за общие настройки Samba-сервера;

public и private — секции описания настроек директорий общего доступа.

В секции global присутствуют пять параметров:

  • workgroup — рабочая группа. Для упрощения работы пользователей WORKGROUP указывается, как группа по умолчанию. Если в вашей сети имя рабочей группы изменено, то следует изменить это значение и для Samba;
  • security — уровень безопасности сервера. Значение user означает авторизацию по паре логин/пароль;
  • map to guest — параметр определяет способ обработки запросов. Значение bad user означает, что запросы с неправильным паролем будут отклонены, даже если такое имя пользователя существует;
  • wins support — включить или выключить поддержку WINS;
  • dns proxy — возможность проксирования запросов к DNS.

Настройки директорий выполняются в соответствующих секциях:

path — полный путь до директории на жестком диске;

guest ok — возможность доступа к каталогу без пароля (гостевой);

browsable — показывать ли каталог (“шару”) на сервере среди прочих. Если параметр установлен как “no”, то доступ будет возможен по полному пути, например ip-addresshidden_directory;

force user — пользователь от которого ведется работа с каталогом. Для повышения безопасности сервера, обычно используют nobody. Главное, не использовать пользователя root — это небезопасно.

writable — установка значения как “yes” позволяет пользователю выполнять действия над файлами внутри каталога — переименование, добавление, удаление, перемещение в подкаталог и копирование;

valid users — список пользователей у которых есть доступ к каталогу. Если пользователей несколько, их имена указываются через запятую. Если необходим доступ для пользователей принадлежащих группе, перед именем группы устанавливается символ ”at” @ (“собака”).

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

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

testparm -s

Перезапускаем сервер:

service smbd restart

service nmbd restart

Настроим межсетевой экран. Для этого в правилах откроем TCP-порты 139 и 445, а также UDP-порты 137 и 138, но только для тех подсетей, которым доверяете. Для указания собственного диапазона адресов, замените значение после ключа “-s”:

iptables -A INPUT -p tcp -m tcp --dport 445 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 139 -s 10.0.0.0/24 -j ACCEPT

iptables -A INPUT -p udp -m udp --dport 137 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 138 -s 10.0.0.0/24 -j ACCEPT

Для сохранения правил и применения их после перезагрузки сервера следует воспользоваться пакетом iptables-persistent. Установим его:

apt-get install iptables-persistent

Входе установки пакета, программа предложит запомнить существующие правила iptables. Подтверждаем это действие.

Для проверки существующих правил используем:

iptables -L

Windows

По аналогии с Linux, настроим общий доступ к папкам public и private, но в ОС Windows.

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

Панель управления → Сеть → Центр управления сетями и общим доступом → Расширенные настройки общего доступа.

В обновленном окне открываем раздел “Все сети” и ищем секцию “Общий доступ с парольной защитой”. Устанавливаем параметр в положение “Отключить общий доступ с парольной защитой”. Для сохранения значений параметра кликаем по кнопке “Сохранить изменения”.

Отключаем общий доступ с парольной защитой

Теперь откроем доступ к самому каталогу. Кликаем по папке правой кнопкой мыши, в контекстном меню выбираем “Свойства”. Открываем вкладку “Доступ” и кликаем по “Расширенная настройка”.

Выбираем расширенную настройку

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

В открывшемся окне, в группах пользователей выбираем “Все”, а в разрешениях для группы, устанавливаем галку “Полный доступ”. Нажимаем “OK” в этом и остальных окнах.

Выбираем саму группу и разрешения для группы

В окне свойств папки public кликаем по кнопке “Общий доступ”.

Общий доступ к файлам в Samba | Serverspace

В открывшемся окне добавляем пользователя “Все”, а также делегируем права на “Чтение и запись”. Кликаем по кнопке “Поделиться”.

Выбираем права и делимся ими с пользователями

В обновленном окне нажимаем “Готово”.

Нажимаем готово

Настроим папку общего доступа, но для ограниченного круга лиц.

Кликаем правой кнопкой мыши по папке, выбираем “Свойства”.

В открывшемся окне переходим на вкладку “Доступ”. Кликаем по кнопке “Расширенные настройки”.

В новом открывшемся окне, устанавливаем галку “Открыть общий доступ к этой папке”. Затем кликаем по кнопке “Разрешения”.

Открываем общий доступ к этой папке

В открывшемся окне, в поле “Группы или пользователи” выбираем “Все” и нажимаем кнопку “Удалить”.

Удаляем пользователя

Таким образом установлен запрет на анонимный доступ к папке.

Окно обновится. Кликаем по кнопке “Добавить”.

В открывшемся окне кликаем по кнопке “Дополнительно”.

Выбираем дополнительные параметры

Окно изменится в размере. Кликаем по кнопке “Поиск”. Двойным кликом выбираем пользователя, которому необходим доступ к этому каталогу, например, buhgalter.

Добавляем пользователя которому нужен доступ к этому каталогу

В открывшемся окне, при желании, можем добавить еще одного пользователя через “Дополнительно” — “Поиск”. Аналогичным образом можно добавить группу пользователей, например, “Администраторы”, при этом следует понимать, что доступ будет предоставлен всем пользователям из этой группы.

При желании добовляем еще одного пользователя

Установим права доступа для пользователя “buhgalter”. Если требуется полный доступ к директории, устанавливаем галку в соответствующем месте.

Пример установки прав для группы пользователей

Нажимая кнопки “OK” возвращаемся к окну свойств папки, в котором кликаем по кнопке “Общий доступ”.

Возвращаемся обратно и выбираем общий доступ

В данном окне необходимо найти и добавить пользователя “бухгалтер”.

Ищем нашего пользователя и добавляем его

В окне выбора пользователей и групп кликаем по кнопке “Дополнительно”.

Выбираем дополнительные параметры

Окно снова изменит свои размеры. Кликаем по кнопке “Поиск”. В найденном ниже списке пользователей и групп выбираем искомого пользователя. Выбираем его двойным кликом.

Выбираем пользователей

В оставшемся окне проверяем правильно ли указан пользователи и нажимаем кнопку “OK”.

Проверяем выбранного пользователя

Устанавливаем требуемый уровень разрешений для пользователя и кликаем по кнопке “Поделиться”.

Добавляем права и делимся ими

Кликаем по кнопке “Готово”.

Теперь папка общего доступа доступна

Подключение к общим папкам

Из Linux

Для подключения к общим папкам из среды Linux требуется установка отдельного программного обеспечения — smbclient. Установим:

sudo apt-get install smbclient

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

smbclient -U <Имя_пользователя> <IP-адрес><Имя_каталога_на_сервере>

Пример:

smbclient -U buhgalter 10.0.0.1public

Для того, Чтобы не вводить эту команду каждый раз, можно настроить монтирование общей директории как сетевого диска. Для этого установим пакет cifs-utils:

sudo apt-get install cifs-utils

Монтирование выполняется по следующему шаблону:

mount -t cifs -o username=<Имя_пользователя>,password= //<IP-адрес>/<Общий каталог> <Точка монтирования>

Пример:

mount -t cifs -o username=Everyone,password= //10.0.0.1/public /media

Важно! Если требуется подключение к общим папкам расположенным на Windows-сервере, то в для не защищенных паролем директорий, в качестве имени пользователя, следует использовать “Everyone”. Для подключения к Linux-серверу рекомендуем использовать в качестве имени пользователя “nobody”. В случае доступа к защищенным директориям следует использовать те учетные данные, которые вы указали.

Из Windows

Подключение к удаленным папкам из среды Windows выполняется немного иначе. Для этого в проводнике или окне запуска программ (Windows + R), следует использовать следующий шаблон:

<IP-адрес><имя_папки>

Указав просто IP-адрес сервера вы получите список общих папок.

Список общих папок

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

Для подключения к общей папке выбираем Everyone и пустое поле для пароля

При подключении к Linux-серверу из ОС Windows, следует использовать указанный ранее шаблон:

<IP-адрес><имя_папки>

или просто адрес сервера:

<IP-адрес>

Как создать общий сетевой ресурс в Samba

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

mkdir /home/<user_name>/<folder_name></folder_name></user_name>

Создайте бэкап, если что-то пойдет не так:

sudo cp /etc/samba/smb.conf ~

Отредактируйте файл «/etc/samba/smb.conf»:

sudo nano /etc/samba/smb.conf

Добавьте следующее содержимое в файл:

[<folder_name>]
path = /home/<user_name>/<folder_name>
valid users = <user_name>
read only = no</user_name></folder_name></user_name></folder_name>

Заполните файл своими данными, сохраните его и затем закройте

Перезапустим Samba:
sudo service smbd restart

Использую данную команду проверьте вашу директорию smb.conf на ошибки:

testparm

Чтобы получить доступ к вашему общему сетевому ресурсу:

sudo apt-get install smbclient
# Просмотр всех общих ресурсов:
smbclient -L //<host_ip_or_name>/<folder_name> -U <user>
# Подключение:
smbclient //<host_ip_or_name>/<folder_name> -U <user></user></folder_name></host_ip_or_name></user></folder_name></host_ip_or_name>

Note 1: Чтобы подключиться к вашему общему сетевому ресурсу используйте имя вашего пользователя () и пароль, который находится «smb:////»
Учтите, что «» значение передается в «[]»,
другими словами, имя общего ресурса, которое вы ввели в «/etc/samba/smb.conf».
Note 2: Группа пользователей samba по умолчанию это — «WORKGROUP».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Откройте файл конфигурации на редактирование с помощью текстового редактора, например 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.

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

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

iptables -A INPUT -p tcp -m tcp –dport 445 –s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp -m tcp –dport 139 –s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p udp -m udp –dport 137 –s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p udp -m udp –dport 138 –s 10.0.0.0/24 -j ACCEPT

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

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

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

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

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

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

mkdir /samba/public

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

chmod 777 /samba/public

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

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

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

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

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

vfs objects = recycle
recycle:repository = .recycle
recycle:versions = yes
recycle:keeptree = yes

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

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

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

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

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

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

Чтобы пользователи локальной сети могли без пароля подключаться к общему ресурсу, необходимо в панели управления снять ограничения защиты. Откройте панель управления и перейдите в раздел Сеть (Network and Internet) -> Центр управления сетями и общим доступом (Network and Sharing Center) -> Расширенные настройки общего доступа (Advanced sharing settings). В разделе Все сети (All Networks) выберете опцию Отключить доступ с парольной защитой (Turn off password protected sharing) и сохраните изменения.

Turn off password

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

Win Properties

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

Advanced Sharing

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

отметить галочками Allow

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

Share

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

Выберите Everyone

Done

Теперь ваш каталог 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, который является главным администратором и должен иметь доступ к обоим ресурсам. Поэтому добавим его в обе группы:

usermod -aG smbbuch andrey
usermod -aG smbadm andrey

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

smbpasswd -a andrey

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

smbpasswd -e andrey

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

samba-debian-003.png

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

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

useradd -M -s /sbin/nologin ivanova
useradd -M -s /sbin/nologin petrov

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

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

usermod -aG smbbuch ivanova
usermod -aG smbadm petrov

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

smbpasswd -a ivanova
smbpasswd -a petrov

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

smbpasswd -e ivanova
smbpasswd -e petrov

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

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

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

sudo apt-get install smbclient

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

smbclient -U <пользователь> \<общий каталог=””>

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

sudo apt-get install cifs-utils

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

mount -t cifs -o username=<пользователь>,password= ///<общий каталог=””> <точка монтирования=””>

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

Например:

mount -t cifs -o username=Everyone,password= //10.0.1.2/Win /root/shares/public

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

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

Тестирование сервера

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

  • Маршрутизация внутри локальной сети на pfSense
  • Настройка site-to-site VPN сети с помощью VyOS
  • Чек-лист параметров безопасности сервера Windows/Linux
  • Как настроить vsftpd на Ubuntu
  • Настройка FTP-сервера на Windows Server 2016

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

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

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

sudo apt install samba

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

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

sudo systemctl status nmbd

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

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

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

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

sudo mkdir /samba

Это создаст новый подкаталог 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

[samba-share] – название ресурса
comment – Добавить краткое описание акции
path – Это каталог вашего общего ресурса.
read only -Указывает, разрешена ли запись в каталог
browsable – должен ли общий ресурс быть указан в списке общих ресурсов

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

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

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

sudo useradd username

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

sudo smbpasswd -a username

Перезапуск 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 либо с использованием проводника

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

Там только один конфигурационный файл , который необходимо отредактировать: /etc/samba/smb.conf.

sudo nano /etc/samba/smb.conf

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

workgroup = WORKGROUP

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

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

Home Share это имя папки , которое будет отображаться в сети Windows. Комментарием является описание общей папки. Следующие 3 строки указывают, что только указанный пользователь valid users имеет право доступа к каталогу /home/username/, который также доступен для записи. Вышеуказанная конфигурация отключит анонимный доступ.

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

testparm

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

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

sudo adduser username

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

sudo smbpasswd -a username

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

sudo systemctl restart smbd

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

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

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

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

Сервер Samba Ubuntu 16.04

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

Samba Ubuntu

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

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

valid users = user1, user2, user3

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

sudo smbpasswd -a user1 sudo smbpasswd -a user2 sudo smbpasswd -a user3

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

valid users = @sambashare

Создайте группу.

sudo groupadd sambashare

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

sudo gpasswd -a user1  sambashare sudo gpasswd -a user2 sambashare sudo gpasswd -a user3 sambashare

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

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

sudo chgrp sambashare /path/to/shared/folder -R

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

sudo chmod g+w /path/to/shared/folder/ -R

Все!

Настройка общих ресурсов 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 при создании. Теперь нужно протестировать параметры

$testparm

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

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

$sudo systemctl start smbd.service $sudo systemctl enable smbd.service

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

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

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

$sudo apt-get install smbclient

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

$smbclient //имя_или_адрес_сервера/ресурс -U пользователь

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

$smbclient //samba.example.com/ivan -U ivan

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

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

smb: > mkdir test smb: > ls

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

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

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

Заключение

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

”Источники”

  • https://1cloud.ru/help/network/nastroika-samba-v-lokalnoj-seti
  • https://interface31.ru/tech_it/2019/06/nastroyka-faylovogo-servera-samba-na-platforme-debian-ubuntu.html
  • https://admin812.ru/kak-ustanovit-i-nastroit-samba-v-ubuntu.html
  • https://andreyex.ru/ubuntu/kak-ustanovit-i-nastroit-server-samba-na-ubuntu-16-04-dlya-obshhego-dostupa-k-fajlam/
  • https://ITProffi.ru/ustanovka-i-nastrojka-samba-servera-i-klientov/

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

Настройка через терминал

Сама Samba – это программа, которая предназначена для обращения к различным сетевым интерфейсам, в том числе принтерам, с помощью особого протокола «SMB/CIFS». Состоит из серверной (работающей на Linux, MAC и других Unix-подобных OS) и клиентской части, которую можно установить даже на Windows 7, 8, 10.

Поскольку серверная часть программы предназначена для ОС Ubuntu, рассмотрим порядок ее настройки, а также затронем настройки Windows для обеспечения доступа.

Настройки Windows

Для того, чтобы программа работала корректно, нужно убедиться в том, что все компьютеры сети подключены к одинаковой рабочей группе. Обычно, в поле «Название группы» внесено значение «WORKGROUP». Чтобы определить, в какую группу входит используемый ПК, необходимо использовать командную строку:

  1. Нажать на клавиатуре комбинацию клавиш «WIN+R». В открывшемся окне ввести «cmd».окно Выполнить
  2. Далее, в окне консоли ввести «net config workstation».net config workstation

Следует обратить внимание на пункт «Домен рабочей станции».

  1. Если на ПК с ОС Ubuntu выставлен статический ip-адрес, следует указать его в файле «hosts». Найти его можно в папке «etc», которая, в свою очередь хранится в папке «Windowssystem32».
  2. После последнего адреса в списке написать нужный IP-адрес.

Настройка Виндоус окончена.

Настройка серверной части Самба

Теперь можно перейти к настройке операционной системы Samba на Ubuntu. В процессе будет использоваться консоль. Сам процесс настройки Samba Server несложен, но требует внимательности к деталям:

  1. По окончании инсталляции необходимо используя консоль вписать следующую команду, которая установит недостающие модули Самбы:
    sudo apt-get install -y samba python-glade2
  2. Вслед за этим нужно сделать бэкап существующего файла конфигурации:
    sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
  3. Создать новый файл конфигурации:
    sudo gedit /etc/samba/smb.conf
  4. В открывшийся документ нужно внести следующую информацию:
    [global]
    workgroup = WORKGROUPE
    netbios name = gate
    server string = %h server (Samba, Ubuntu)
    dns proxy = yes
    log file = /var/log/samba/log.%m
    max log size = 1000
    map to guest = bad user
    usershare allow guests = yes
  5. Сохранить изменения кликом по кнопке в правом верхнем углу.Сохранить изменения

Также следует откорректировать файл «limits.conf»:

  1. Открыть его с помощью текстового редактора:
    sudo gedit /etc/security/limits.conf
  2. Прокрутить вниз и перед последней строчкой в документе добавить следующее:
    * - nofile 16384
    root - nofile 16384
  3. Сохранить изменения.

Результат:Результат использования

Создание общих папок

Затем следует создать общие папки на сетевом файловом сервере Samba:

  1. Сперва следует создать обычную директорию, название которой может быть абсолютно любым. Команда для консоли:
    sudo mkdir -p /*выбранный путь*/share
  2. Задать права для того чтобы все пользователи смогли проводить операции над вложенными файлами. При этом следует указать точный путь:
    sudo chmod 777 -R /*…*/share
  3. Открыть конфигурационный файл, чтобы добавить в него некоторые данные:
    sudo gedit /etc/samba/smb.conf
  4. После блока «Global» добавить следующее:
    [Share]
    comment = Full Share
    path = *…*/share
    guest ok = yes
    browsable = yes
    writable = yes
    read only = no
    force user = user
    force group = users
  5. Сохранить изменения. В результате должно получиться следующее:Результат сохранения
  6. Перезапустить Самбу:
    sudo service smbd restart

Найти созданную директорию на ПК с Windows можно через «Проводник» — «Сеть».Настройки сети

Неизменяемые папки

Если есть нужда в директории, над которой нельзя будет проводить операции редактирования – создается таковая с правами «Для чтения». Процедура идентична, за исключением некоторых параметров:

  1. Создать папку, назвать ее, например, «readonly». В терминале ввести:
    sudo mkdir -p /readonly
  2. Дать папке необходимые права:
    sudo chmod 777 -R readonly
  3. Следующей командой открыть конфигурацию:
    sudo gedit /etc/samba/smb.conf
  4. Вновь добавить фрагмент текста в конец файла:
    [Read]
    comment = Only Read
    path = /readonly
    guest ok = yes
    browsable = yes
    writable = no
    read only = yes
    force user = user
    force group = users
  5. Сохранить документ.

Папки с закрытым доступом

Для создания папки с аутентификацией и проверкой разрешений нужно:

  1. Создать папку, к примеру «Auth»:
    sudo mkdir -p /Auth
  2. Задать права:
    sudo chmod 777 -R /Auth
  3. Задать группу пользователей на свой выбор, а затем и пользователя, которому дать права доступа по авторизации.
  4. Добавить пользователя, например, «teacher»:
    sudo useradd -g smbuser teacher
  5. Задать пароль для авторизации:
    sudo smbpasswd -a teacher
  6. Внести изменения в файл конфигурации, добавив фрагмент:
    [Pasw]
    comment = Only password
    path = /auth
    valid users = teacher
    read only = no

Графический интерфейс System Config Samba

Установка интерфейса

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

  1. Для установки нужно ввести в консоли следующую команду:
    sudo apt install system-config-samba
  2. Вместе с этим установить все сопутствующие компоненты Самба:
    sudo apt-get install -y samba samba-common python-glade2 system-config-samba
  3. Перейти к запуску и настройке.

Запуск

Запустить System Config Samba из терминала:

  1. Нажать сочетание клавиш «CTRL+ALT+T».
  2. В окне консоли ввести:
    sudo system-config-samba
  3. Нажать «Enter».
  4. Ввести системный пароль.

Добавляем пользователей

Перед настройкой папок нужно создать пользователей:

  1. На верхней панели выбрать вкладку «Настройка».Выбрать Настройки
  2. Выбрать пункт «Пользователи Samba».Пользователи Samba
  3. В следующем окне выбрать пункт «Добавить пользователя».Добавить пользователя
  4. В выпадающем списке выбрать имя пользователя, которому может быть предоставлен доступ.Выбор имени
  5. Ввести имя пользователя в Windows.имя пользователя в Windows
  6. Ввести пароль с подтверждением.Пароль с подтверждением
  7. Нажать «ОК».

Настраиваем сервер

Настройка сервера упрощается через графический интерфейс:

  1. Выбрать вкладку «Настройки».Выбрать Настройки
  2. Далее «Параметры сервера».Параметры сервера
  3. Вкладка «Основной», ввести название группы в поле «Рабочая группа».Рабочая группа
  4. Параметр описания не влияет ни на что, поэтому его значение можно не изменять.Ввод описания
  5. Перейти к вкладке «Безопасность».Вкладка безопасности
  6. Выбрать режим аутентификации — «Пользователь».Режим аутентификации
  7. Выбрать в пункте «Шифровать пароли» вариант «Да».Шифровать пароли
  8. Выбрать учетную запись гостя.Выбрать запись гостя
  9. Нажать «ОК».

Создаем папки

Если папки не были созданы ранее, главное окно будет пустым. Для создания нужно провести ряд действий:

  1. Кликнуть по кнопке в виде плюса. Произойдет переход к окну создания.Создание папки
  2. Нажать «Обзор» в открывшемся окне.Выбор каталога
  3. Указать папку, к которой будет предоставлен общий доступ.Включение общего доступа
  4. Отметить галочками пункты «Виден» и «Общедоступен».Выбор настроек
  5. Перейти к вкладке «Доступ».Вкладка доступа
  6. На данной вкладке выбрать пользователей, которые получат доступ к папке.Выбор пользователя
  7. Для создания общедоступной папки выбрать «Предоставить доступ всем».
  8. Нажать на «ОК».

В главном окне отобразится созданная директория.Созданная директория

Файловый менеджер Nautilus

Также эти операции можно провести в популярном файловом менеджере Nautilus.

Установка

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

  1. Открыть «Nautilus» кликом по иконке на панели задач.Менеджер Nautilus
  2. Перейти в расположение с директорией для общего доступа. Нажать правой кнопкой мыши и выбрать пункт «Свойства».Свойства
  3. Перейти на вкладку «Общедоступная папка локальной сети».Общедоступная папка локальной сети
  4. Выбрать пункт «Опубликовать эту папку».Опубликовать эту папку
  5. Откроется окно, в котором кликнуть по кнопке «Установить службу» для начала установки Самбы.Установить службу
  6. Будет открыто окно, в котором можно просмотреть описание устанавливаемых пакетов. Нажать «Установить».Установить
  7. Ввести пароль пользователя для продолжения установки.Ввод пароля

Дождаться завершения установки и перейти к настройке.

Основные настройки

Настройка Самба из Наутилуса намного упрощается, в сравнении с предыдущими способами.

Для добавления общедоступности директории нужно:

  1. Перейти на вкладку «Права».Настройки прав
  2. Определить права для всех типов пользователей.Выбор прав
  3. Для ограничения доступа какой-либо группе выбрать из списка «Нет».
  4. Далее перейти в меню «Изменить права на вложенные файлы».Изменить права
  5. Точно также, как и во втором пункте определить права на взаимодействие с файлами.права на взаимодействие
  6. Нажать «Изменить», затем перейти к вкладке «Общедоступная папка локальной сети».Общедоступная папка локальной сети
  7. Отметить галочкой вариант «Опубликовать эту папку».Опубликовать папку
  8. Ввести название папки.Ввод названия
  9. Поставить, либо убрать галочки, позволяющие проводить операции и предоставлять общий доступ пользователю без учетной записи.Убрать галочку
  10. Нажать «Применить».

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

Время прочтения
4 мин

Просмотры 52K


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

Так же Samba нам понадобится для настройки резервного копирования MS SQL и Exchange на этот сервер, но об этом в следующих статьях. А пока, настроим сам сервер(в качестве которого мы используем уже настроенный сервер резервного копирования из статьи в шапке, все тот же CentOS6):

  • Устанавливаем необходимые пакеты
    yum install samba samba-client ntp acl krb5-workstation -y
    

  • Запускаем ntp клиент (время лучше всего получать с контроллера домена, чтобы оно сильно не расходилось с нашим сервером)
    chkconfig ntpd on
    service ntpd start
    

  • Подправим файл /etc/hosts, чтобы он имел примерно такой вид:
    # cat /etc/hosts
    127.0.0.1 localhost.localdomain localhost
    10.0.0.2 server-name.domain.local server-name
    

    где 10.0.0.2 IP-адрес нашего бекап-сервера

  • Настроим kerberos для добавления сервера в домен

    cat /etc/krb5.conf

    [logging]
    default = FILE:/var/log/krb5libs.log
    kdc = FILE:/var/log/krb5kdc.log
    admin_server = FILE:/var/log/kadmind.log
    
    [libdefaults]
    default_realm = DOMAIN.LOCAL
    ticket_lifetime = 24h
    forwardable = yes
    
    [realms]
    DOMAIN.LOCAL = {
       default_domain = domain.local
       kdc = dc1.domain.local        #контроллер домена
       admin_server = dc1.domain.local
    }
    
    [domain_realm]
    domain.local = DOMAIN.LOCAL
    .domain.local = DOMAIN.LOCAL
    

  • Конфигурируем Samba. Приводим файл /etc/samba/smb.conf к такому виду:

    cat /etc/samba/smb.conf

    [global]
    
    load printers = no
    show add printer wizard = no
    printcap name = /dev/null
    disable spoolss = yes
    
    
    workgroup = DOMAIN
    password server = dc1.domain.local
    netbios name = server-name
    server string = Samba Server Version %v
    security = ads
    realm = DOMAIN.LOCAL
    domain master = no
    local master = no
    preferred master = no
    socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072
    use sendfile = true
    
    idmap config *:backend = tdb
    idmap config *:range = 11000-20000
    idmap config DOMAIN:backend = rid
    idmap config DOMAIN:range = 100000-199000
    
    template shell = /sbin/nologin
    
    winbind enum users = yes
    winbind enum groups = yes
    winbind use default domain = no
    winbind nested groups = yes
    winbind refresh tickets = yes
    
    client use spnego = yes
    client ntlmv2 auth = yes
    encrypt passwords = yes
    restrict anonymous = 2
    
    log file = /var/log/samba/log.%m
    max log size = 50
    #log level = 3
    
    vfs objects = acl_xattr
    map acl inherit = Yes
    store dos attributes = Yes
    
    
    [disk1$]
    comment = disk1
    path = /media/disk1
    public = yes
    writable = yes
    
    

  • Настраиваем nsswitch, для того чтобы он мог использовать данные AD с помощью winbind-сервиса
    # cat /etc/nsswitch.conf
    ...
    passwd: files winbind
    shadow: files winbind
    group: files winbind
    ...
    

  • Запускаем сервисы
    chkconfig smb on
    chkconfig winbind on
    chkconfig nmb on
    service smb start
    service nmb start
    service winbind start
    

  • Теперь мы можем вводить наш сервер в домен
    # net ads join -U administrator
    administrator's password:
    Using short domain name -- DOMAIN
    Joined 'SERVER-NAME' to realm 'DOMAIN.LOCAL'
    

    Если все прошло удачно, то перезапускаем сервис winbind и проверяем подключение к домену

    #service winbind restart
    
    # wbinfo -t
    checking the trust secret for domain DOMAIN via RPC calls succeeded
    

  • Чтобы мы могли работать с правами из Windows нам необходимо перемонтировать нашу файловую систему с поддержкой ACL
    для этого идем в /etc/fstab и добавляем опцию acl для нашего диска

    # cat /etc/fstab
    ...
     /dev/VolGroup00/LogVol00 /media/disk1 ext4 defaults,acl 1 2
    ...
    

    перемонтируем раздел и раздаем диску права на корень, после чего мы сможем управлять правами папок прямо из Windows

    # mount -o remount /media/disk1
    # setfacl -m g:"DOMAINdomain admins":rwx /media/disk1
    # setfacl -d -m g:"DOMAINdomain admins":rwx /media/disk1
    

  • ну и конечно же не забываем про iptables

    cat /etc/sysconfig/iptables

    # Firewall configuration written by system-config-firewall
    # Manual customization of this file is not recommended.
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    # правило для urbackup
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 55414 -j ACCEPT
    #правила для samba
    -A INPUT -s 10.0.0.0/8 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
    -A INPUT -s 10.0.0.0/8 -m state --state NEW -m udp -p udp --dport 445 -j ACCEPT
    -A INPUT -s 10.0.0.0/8 -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
    -A INPUT -s 10.0.0.0/8 -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
    -A INPUT -s 10.0.0.0/8 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    

    # service iptables restart
    

Готово. Теперь мы можем работать с нашими резервными копиями из любимого файл-менеджера в Windows.

IK

Ivan Kuzin

26 сентября 2019

Пожалуй нет ни одного офиса, в котором не применялись бы общие ресурсы локальной сети, будь то папки или принтеры. Крупные и средние компании используют возможности Active Directory, компании поменьше — используют штатные средства ОС Windows или Samba, но на серверах под управлением ОС Linux. Рассмотрим все случаи.

Что такое Samba?

Samba — серверное приложение, реализующее доступ клиентских терминалов к папкам, принтерам и дискам про протоколу SMB/CIFS.

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

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

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

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

  1. Настройка сетевого адаптера в Ubuntu и Debian
  2. Настройка сетевого адаптера в CentOS
  3. Настройка сетевого адаптера в Windows

Файловый менеджер Nautilus

Также эти операции можно провести в популярном файловом менеджере Nautilus.

Сброс пароля Windows используя флешку для сброса

Установка

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

  1. Открыть «Nautilus» кликом по иконке на панели задач.

    Менеджер Nautilus

  2. Перейти в расположение с директорией для общего доступа. Нажать правой кнопкой мыши и выбрать пункт «Свойства».

    Свойства

  3. Перейти на вкладку «Общедоступная папка локальной сети».

    Общедоступная папка локальной сети

  4. Выбрать пункт «Опубликовать эту папку».

    Опубликовать эту папку

  5. Откроется окно, в котором кликнуть по кнопке «Установить службу» для начала установки Самбы.

    Установить службу

  6. Будет открыто окно, в котором можно просмотреть описание устанавливаемых пакетов. Нажать «Установить».

    Установить

  7. Ввести пароль пользователя для продолжения установки.

    Ввод пароля

Дождаться завершения установки и перейти к настройке.

Основные настройки

Настройка Самба из Наутилуса намного упрощается, в сравнении с предыдущими способами.

Для добавления общедоступности директории нужно:

  1. Перейти на вкладку «Права».

    Настройки прав

  2. Определить права для всех типов пользователей.

    Выбор прав

  3. Для ограничения доступа какой-либо группе выбрать из списка «Нет».
  4. Далее перейти в меню «Изменить права на вложенные файлы».

    Изменить права

  5. Точно также, как и во втором пункте определить права на взаимодействие с файлами.

    права на взаимодействие

  6. Нажать «Изменить», затем перейти к вкладке «Общедоступная папка локальной сети».

    Общедоступная папка локальной сети

  7. Отметить галочкой вариант «Опубликовать эту папку».

    Опубликовать папку

  8. Ввести название папки.

    Ввод названия

  9. Поставить, либо убрать галочки, позволяющие проводить операции и предоставлять общий доступ пользователю без учетной записи.

    Убрать галочку

  10. Нажать «Применить».

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

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

sudo apt-get install smbclient

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

smbclient -U <�пользователь> \<�общий каталог=»»>

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

sudo apt-get install cifs-utils

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

mount -t cifs -o username=<�пользователь>,password= ///<�общий каталог=»»> <�точка монтирования=»»>

Где адрес>

— адрес машины, на которой расположена общая директория, а
<�общий каталог=»»>
— путь до общей директории.

Например:

mount -t cifs -o username=Everyone,password= //10.0.1.2/Win /root/shares/publicадрес>адрес>

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

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

Тестирование сервера

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

  • Маршрутизация внутри локальной сети на pfSense
  • Настройка site-to-site VPN сети с помощью VyOS
  • Чек-лист параметров безопасности сервера Windows/Linux
  • Как настроить vsftpd на Ubuntu
  • Настройка FTP-сервера на Windows Server 2016

Рабочая группа

Рабочая группа должна быть одинаковой на всех устройствах. Как правило, так и есть. Но желательно проверить. Для этого откройте свойства компьютера «Система» и перейдите в «Дополнительные параметры системы».

Там будет указана «Рабочая группа». Чтобы изменить ее, нужно нажать на кнопку «Изменить».

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

Если у вас проблема с доступом к сетевому накопителю (к флешке через маршрутизатор) , то в настройках общего доступа на том же роутере ASUS так же указана рабочая группа. Можете посмотреть на скриншоте выше в статье. Она должна быть такой же, как на компьютере.

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

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

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

sudo apt install samba

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

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

sudo systemctl status nmbd

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

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

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

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

sudo mkdir /samba

Это создаст новый подкаталог 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

[samba-share] – название ресурса comment – Добавить краткое описание акции path – Это каталог вашего общего ресурса. read only -Указывает, разрешена ли запись в каталог browsable – должен ли общий ресурс быть указан в списке общих ресурсов

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

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

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

sudo useradd username

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

sudo smbpasswd -a username

Перезапуск 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 либо с использованием проводника

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

Там только один конфигурационный файл , который необходимо отредактировать: /etc/samba/smb.conf.

sudo nano /etc/samba/smb.conf

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

workgroup = WORKGROUP

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

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

Home Share это имя папки , которое будет отображаться в сети Windows. Комментарием является описание общей папки. Следующие 3 строки указывают, что только указанный пользователь valid users имеет право доступа к каталогу /home/username/, который также доступен для записи. Вышеуказанная конфигурация отключит анонимный доступ.

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

testparm

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

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

sudo adduser username

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

sudo smbpasswd -a username

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

sudo systemctl restart smbd

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

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

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

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

Сервер Samba Ubuntu 16.04

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

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

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

valid users = user1, user2, user3

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

sudo smbpasswd -a user1 sudo smbpasswd -a user2 sudo smbpasswd -a user3

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

valid users = @sambashare

Создайте группу.

sudo groupadd sambashare

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

sudo gpasswd -a user1 sambashare sudo gpasswd -a user2 sambashare sudo gpasswd -a user3 sambashare

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

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

sudo chgrp sambashare /path/to/shared/folder -R

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

sudo chmod g+w /path/to/shared/folder/ -R

Все!

Установка глобальных опций Samba

Параметры конфигурации Samba хранятся в файле /etc/samba/smb.conf. В нем есть два раздела, global и shares. В разделе global прописаны параметры самого сервера (имя сервера, его тип, интерфейсы и другие сетевые настройки), а в разделе shares — параметры ресурсов. Вместо редактирования файла создадим новый. Предварительно сохранив оригинал:

$sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.orig $sudo vi /etc/samba/smb.conf

Внесем в наш новый файл /etc/samba/smb.conf следующий код

[global] server string = samba_server server role = standalone server interfaces = lo ваш_сетевой_интерфейс bind interfaces only = yes disable netbios = yes smb ports = 445 log file = /var/log/samba/smb.log max log size = 10000

Рассмотрим значение этих параметров.

server string: информация, передаваемая во время подключения. Можно использовать любое имя для идентификации сервера. Далее будут рассмотрены названия для ресурсов Samba. server role: тип создаваемого Samba-сервера. В данном примере используется выделенный сервер (standalone). Другие типы — член домена и контроллер домена. interfaces: сетевые интерфейсы, к которым привязан сервер. Здесь указан “lo”, loopback-интерфейс. Кроме него нужно указать внешний интерфейс, обычно это eth0. bind onterface only: гарантирует, что сервер Samba будет привязан только к тем интерфейсам, которые указаны в строке interfaces, и будет игнорировать пакеты с других интерфейсов. disable netbios: отключает на сервере все функции NetBios, чтобы немного облегчить процесс разрешения имени сервера и разгрузить трафик. smb ports: номер порта, на котором будет работать сервер. По умолчанию Samba использует порт 445. log file: имя и месторасположение файла лога Samba. max log size: максимальный размер файла лога. Рекомендуется указывать его настолько большим, насколько позволяют ресурсы стстемы. Если размер будет превышен, будет создан новый файл, а предыдущий файл будет перемещен в дубликат с расширением .old. При повторном превышении первый файл с расширением .old будет удалён. Данный параметр помогает предотвратить заполнение диска. Если нужны более подробные логи, можно воспользоваться командой:

log level = 3 passdb:5 auth:5

Уровень лога 3 означает, что сохраняется более детальная информация, чем при стандартном ведении лога. Стандартный уровень — 1, максимальный — 5. Здесь он установлен для параметров passdb и auth, чтобы получать более подробную информацию об аутентификации пользователей. После определения параметров ведения лога сохраните и закройте файл. При необходимости файл smb.conf нужно протестировать на синтаксические ошибки при помощи утилиты Samba testparm:

$testparm

Будет выведен следующий результат:

После нажатия на клавишу Enter будут выведены глобальные параметры:

Если в результате выводится “Load services files OK”, значит, в файле нет ошибок и сервер можно запускать.

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

Настройка общих ресурсов 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 при создании. Теперь нужно протестировать параметры

$testparm

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

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

$sudo systemctl start smbd.service $sudo systemctl enable smbd.service

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

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

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

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

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

$ groupadd sambashare $sudo mkdir /samba/ $sudo chown :sambashare /samba/

Затем нужно создать директорию пользователя (в примере мы рассмотрим создание пользователя ivan, для нескольких пользователей создание будет аналогичным): Добавим системного пользователя:

$sudo adduser —home /samba/ivan —no-create-home —shell /usr/sbin/nologin —ingroup sambashare ivan

В команде используются параметры: —home: месторасположение домашней директории пользователя. —no-create-home: указывает команде adduser не создавать домашнюю директорию, чтобы не заполнять ее ненужными файлами конфигурации. —shell: определяет, какая оболочка будет использоваться при входе через SSH. В данном примере SSH не используется, поэтому значение /usr/sbin/nologin отключает вход через SSH. —ingroup sambashare: внесение пользователя в группу sambashare, чтобы обеспечить ему возможность чтения и записи для своего ресурса и общих ресурсов.

Более подробно про создание пользователей и групп можно прочитать в этой статье

После запуска команды потребуется создать пароль.

Теперь нужно установить владельца и права доступа к директории:

$sudo chown ivan:sambashare /samba/ivan/ $sudo chmod 2770 /samba/ivan/

Права доступа 2770 означают, что новые файлы или директории, созданные в /samba/david/, будут наследовать группу владельцев от родительской директории, а не от группы пользователей, которая их создала. Например, если администратор создаст новую директорию в ресурсе пользователя ivan, то ivan будет иметь к ней доступ на чтение и запись.

Далее командой smbpasswd необходимо добавить пользователя на сервере Samba (флаг -a) и активировать его (флаг -e):

$sudo smbpasswd -a ivan

Вам потребуется ввести пароль для доступа к ресурсу samba, он может отличаться от системного пароля.

Активируем пользователя

$sudo smbpasswd -e ivan

Другие пользователи создаются аналогичным образом. Для создания пользователя admin нужно выполнить следующие команды, его домашней директорией будет everyone:

$sudo mkdir /samba/everyone $sudo adduser —home /samba/everyone —no-create-home —shell /usr/sbin/nologin —ingroup sambashare admin $sudo chown admin:sambashare /samba/everyone/ $sudo chmod 2770 /samba/everyone/ $sudo smbpasswd -a admin $sudo smbpasswd -e admin

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

$sudo groupadd admins $sudo usermod -G admins admin

Настройка системы завершена, теперь нужно настроить ресурсы.

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

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

$sudo apt-get install smbclient

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

$smbclient //имя_или_адрес_сервера/ресурс -U пользователь

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

$smbclient //samba.example.com/ivan -U ivan

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

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

smb: > mkdir test smb: > ls

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

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

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

Исходные данные (подготовка хостов для осуществления общего доступа)

Сначала я опишу возможность организации доступа к ресурсам на Windows (Сервер) со стороны Linux (Клиент). Для организации данного взаимодействия нам необходимо наличие соединения по протоколу TCP/IP между хостами (то есть присвоен корректный IP, заданы правильные маски, в каждой системе должен быть корректный файл hosts и правильно настроена служба ДНС, если таковая используется), а так же наличие расшаренного ресурса в системе Windows. В примере, машина Windows будет иметь IP 192.168.2.1 и имя host, Linux — 192.168.2.2 и имя samba. Рабочую группу будем использовать WORKGROUP. Ресурс в общем доступе будет называться share.

Пакет Samba для своей работы требует наличия модулей ядра и инструментов для доступа к удаленной системе. Прежде всего, должна быть поддержка файловых систем smbfs и cifs ядром Linux. Старые версии ядра — ниже 2.6.х может не поддерживать cifs в начальной комплектации компиляции. Хотя, по поводу поддержки smbfs в современных дистрибутивах можно поспорить, т.к. данный модуль устарел и не поддерживает символы кириллицы и … ну в общем я его рассматривать не буду ввиду устаревания. Для включения поддержки cifs в старые ядра 2.4 необходимо ознакомиться с документацией на сайте: https://linux-cifs.samba.org/. Новые версии ядра Linux 2.6 в большинстве дистрибутивов имеют встроенную поддержу cifs (если, конечно, ядро не самосборное). Убедиться в поддержке ядром — cifs можно, выполнив команду grep над файлом текущей конфигурации ядра:

samba:~# grep CONFIG_SMB_FS /boot/config-2.6.32-5-686 # CONFIG_SMB_FS is not set samba:~# grep CONFIG_CIFS /boot/config-2.6.32-5-686 CONFIG_CIFS=m # CONFIG_CIFS_STATS is not set CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y # CONFIG_CIFS_DEBUG2 is not set CONFIG_CIFS_DFS_UPCALL=y CONFIG_CIFS_EXPERIMENTAL=y

Посмотрев на вышеприведенный код, хорошо видно, что текущее ядро не поддерживает SMB_FS (нам оно в принципе и не нужно), а вот cifs поддерживается в виде модуля (что, собственно, нас так же устраивает). Если в Вашем ядре нет поддержки CIFS, то необходимо будет его пересобрать с необходимым параметром. О том как это сделать, я описывал в статьях Ядро Linux (получение информации и управление) и Управление ядром Linux (сборка, компилирование, конфигурирование). Итак, мы убедились, что наше ядро поддерживает нужную файловую систему. Теперь нам необходимо установить саму SAMBA и кое-какие инструменты. Выбор того, каким способом устанавливать ПО в Linux оставляю Вам. Скажу лишь, что при установке из исходных текстов, получив их (исходники) с samba.org можно получить более новую версию, нежели при установке в бинарном виде из репозитория, в котором скорее всего будет более старая и проверенная версия. Я пошел по пути наименьшего сопротивления и установил SAMBA через пакетный менеджер (apt-get install samba). Так же, необходимо установить пакет smb-fs (без данного пакета я столкнулся с ошибкой CIFS VFS: cifs_mount failed w/return code = -22).

Мы начнем с самого простого примера и предположим, что DNS для разрешения имен не используется и машины имеют статичные IP-адреса. Поэтому нам необходимо в /etc/hosts добавить следующую строку:

samba:~# cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 samba 192.168.2.1 host samba:~# ping host PING host (192.168.2.1) 56(84) bytes of data. 64 bytes from host (192.168.2.1): icmp_req=1 ttl=128 time=2.46 ms 64 bytes from host (192.168.2.1): icmp_req=2 ttl=128 time=0.322 ms ^C — host ping statistics — 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 0.322/1.394/2.467/1.073 ms

Утилитой ping мы проверили возможность разрешения имени и связь с удаленным хостом Windows. И как можно понять — все работает.

Понравилась статья? Поделить с друзьями:
  • Настройка mpio в windows server 2019
  • Настройка rndis штрих онлайн windows 10
  • Настройка radius server на windows 2016 для wifi
  • Настройка mpio в windows server 2016
  • Настройка remoteapp windows server 2019 для запуска 1с