Андрей Смирнов
Время чтения: ~14 мин.
Просмотров: 11

Samba-сервер в UbuntuDebianMint. Простое пошаговое руководство

zas_von-330x140.jpg

Восстановление операционной системы на ноутбуке до заводских настроек

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

Варианты поставки центрального процессора

Распространены два вида поставки центрального процессора это OEM и BOX. ОЕМ Вариант поставки включает

ТОП Российских интернет магазинов

Все чаще и чаще приходиться совершать покупки через интернет. ТОП -10 российских интернет магазинов,

CamRip, DVDRip, BDRip что же выбрать

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

Железо которые мы потеряли

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

Встроенная или дискретная видеокарта

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

Не стоит торопиться с апгрейдом

Приведу несколько причин почему не стоит торопиться с покупкой нового компьютера. 1 причина На

Три материнских платы заслуживающих внимания в 2019 году

При выборе материнской платы не всегда действует принцип чем дороже тем, лучше. Не каждому

Приватные поисковые системы

Все мы привыкли к трем основным поисковым системам Yandex, Google, Rambler. Однако эти поисковики

Настройка Samba Linux Mint 19.1

Для расшаривания файлов и папок по сети в Linux Mint существует пакет программ «Samba» Сайт посвящен компьютерной техники, программному обеспечения. В первую очередь ориентирован для новичков, для того, чтобы помощь разобраться во всем. Мнения большинства начинающих пользователей ошибочно, они считают, что так сложно и не нужно туда лезть. Я постараюсь развеять этот миф и показать, что все не совсем так сложно, а нужно всего лишь немного терпения.

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

Что такое Samba?

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

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

Linux

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

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

apt-get update && apt-get upgrade

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

apt-get install -y samba samba-client

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

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

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

mkdir /media/samba

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

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

mkdir /media/samba/public

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

chmod -R 0755 /media/samba/public

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

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

mkdir /media/samba/private

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

groupadd smbgrp

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

useradd user1

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

usermod -aG smbgrp user1

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

chgrp smbgrp /media/samba/private

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

smbpasswd -a user1

13. С помощью текстового редактора, например, 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

2.png

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

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 ACCEPTiptables -A INPUT -p udp -m udp --dport 137 -s 10.0.0.0/24 -j ACCEPTiptables -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

3.png

Windows

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

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

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

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

4.png

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

5.png

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

6.png

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

7.png

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

8.png

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

9.png

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

10.png

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

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

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

11.png

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

12.png

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

13.png

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

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

14.png

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

15.png

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

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

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

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

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

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

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

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

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

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

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

Из Linux

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

sudo apt-get install smbclient

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

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

Пример:

smbclient -U buhgalter \10.0.0.1public

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

sudo apt-get install cifs-utils

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

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

Пример:

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

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

Из Windows

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

<имя_папки>

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

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

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

<имя_папки>

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

Облачные VPS/VDS

Создайте сервер всего за 1 минуту!

от8 руб/месяц

В данной статье пойдет речь об установке и базовой настройке Samba в Ubuntu.

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

Настройка файлового обмена между Windows и Ubuntu.

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

Поскольку Samba присутствует в репозитории Ubuntu, сложностей с установкой возникнуть не должно. Выполните:

sudo apt install samba

и затем подтвердите установку пакета со всеми зависимостями нажатием Y (или Д).

Установка и запуск Samba в Ubuntu

После установки будет автоматически запущен демон smbd, обеспечивающий доступ к файлам и принтерам. Давайте убедимся, что он уже работает:

sudo systemctl status smbd

Установка и запуск Samba в Ubuntu

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

Конфигурационный файл /etc/samba/smb.conf, о котором идет речь, содержит все основные настройки. Именно в нем прописывается:

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

Содержимое файла /etc/smb.conf делится на разделы, содержащие отдельные параметры и их значения. Взгляните сами:

sudo gedit /etc/samba/smb.conf

Настройка Samba в Ubuntu

Не пугайтесь большого количества текста. Строки, начинающиеся с символов «#» и «;» считаются комментариями и не учитываются интерпретатором при разборе файла. Название раздела заключено в квадратные скобки, далее следуют относящиеся к этому разделу параметры и их значения, разделенные знаком «=». Параметров, которые можно использовать, очень много, а вариантов их значений — еще больше.

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

sudo cp /etc/samba/smb.conf /etc/samba/smb-default.conf

Если потребуется восстановить исходный файл, удалите smb.conf и дайте это имя файлу smb-default.conf.

Теперь создадим шару, доступную для чтения и записи всем желающим. Вставьте в /etc/samba/smb.conf:

[public_share] comment = No limits here. path = /home/public_share guest ok = yes browseable = yes writable = yes create mask = 0644 directory mask = 0755 force user = publicshare

Первая строка — название шары. Вторая — ее описание или любой комментарий создателя, доступный всем. Третья — путь к папке, доступ к которой мы открываем. Не забудьте убедиться, что такая директория существует и имеет подходящие права. Параметр guest ok со значением yes разрешает подключаться без логина и пароля, browseable определяет, будет ли наша шара видна внутри сети, writable разрешает запись, create mask и directory mask выставляют права, force user принудительно определяет каждого подключившегося как пользователя publicshare.

Теперь нам нужно создать указанного пользователя и передать ему /home/public_share :

sudo adduser --system publicshare   sudo chown publicshare /home/public_share

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

Вместо guest ok часто применяется параметр public. Это синонимы. Вы можете использовать любой из них с абсолютно одинаковым результатом. У многих других параметров также есть синонимы. Бывают и антонимы, например, read only является антонимом по отношению к writable.

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

sudo ufw allow samba

Для проверки правильности smb.conf в пакет Samba входит утилита testparm. Просто запустите ее без каких-либо ключей:

testparm

Вы увидите результат проверки, а после повторного нажатия Enter — выжимку из конфига.

Обратите внимание: на втором скриншоте параметр writable = yes заменен аналогичным по смыслу read only = no. Отсутствие directory mask = 0755, вероятно, объясняется тем, что 0755 является для этого параметра значением по умолчанию, а потому указывать его нет смысла.

Теперь подключаемся (в Windows, например, для этого достаточно заглянуть в сетевое окружение) — и видим все доступные расшаренные папки.

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

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

Используемые источники:

  • https://cool-zero.ru/
  • https://serverspace.by/support/help/nastroika-samba/
  • https://linuxrussia.com/samba-basic-setup.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации