Samba сервер и клиенты.

///
6 mins read

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

Содержание

  1. Установка Samba
  2. Установка глобальных опций Samba
  3. Создание пользователей Samba
  4. Настройка общих ресурсов Samba
  5. Настройка клиентов Samba
  6. Заключение

Установка Samba

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

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

apt install -y samba samba-client

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

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

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

mkdir -p /samba/public

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

cd /samba
chmod -R 0755 public

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

mkdir /samba/private

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

groupadd smbgrp

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

useradd user1

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

usermod -aG smbgrp user1

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

chgrp smbgrp /samba/private

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

smbpasswd -a user1

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

nano /etc/samba/smb.conf

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

[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

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

  • global — раздел с общими настройками для Samba сервера
  • workgroup — рабочая группа Windows, WORKGROUP — значение по умолчанию для всех Windows машин, если вы не меняли самостоятельно
  • security — режим безопасности, значение user означает аутентификацию по логину и паролю
  • map to guest — задает способ обработки запросов, bad user — запросы с неправильным паролем будут отклонены, если такое имя пользователя существует
  • wins support — включить или выключить поддержку WINS
  • dns proxy — возможность запросов к DNS
  • public — название общего каталога, которое будут видеть пользователи сети, может быть произвольным и не совпадать с именем директории
  • path — полный путь до общего каталога
  • browsable — отображение каталога в сетевом окружении
  • writable — использование каталога на запись, инверсия read only
  • guest ok — авторизация без пароля
  • force user — пользователь по умолчанию
  • valid users — список пользователей, у которых есть доступ к каталогу, через @ указывается unix-группа пользователей

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

testparm -s

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

service smbd restart

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

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

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

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

apt install iptables-persistent

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

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

iptables -L -n -v

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

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

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

apt install smbclient

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

smbclient -U <Пользователь> \\\\<IP-адрес>\\<Общий каталог>

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

apt install cifs-utils

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

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

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

Например:

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

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

Например:

smbclient -U nobody \\\\10.0.1.2\\public
Enter nobody's password:
OS=[Windows Server 2016 Standard 14393] Server=[Windows Server 2016 Standard 6.3]
smb: \>

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

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

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

\\<Локальный IP-адрес>\<Название общего каталога>
ЕСЛИ ОБЩИЙ КАТАЛОГ НАХОДИТСЯ НА LINUX?

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

Previous Story

ASTERISK*

Next Story

ESXI 7 на Dedicated

Latest from Blog

dd

dd (dataset definition) — программа UNIX, предназначенная как для копирования, так и для конвертации файлов. Название унаследовано от оператора DD

0 £0.00