Samba — это приложение сетевого протокола SMB, используемого для подключения принтеров, службы директорий в доменных сетях и создания мультиплатформенных общих ресурсов. В данном руководстве мы рассмотрим установку и настройку Samba-сервера, который позволит создавать различные сетевые хранилища и общие ресурсы.
Содержание
- Установка Samba
- Установка глобальных опций Samba
- Создание пользователей Samba
- Настройка общих ресурсов Samba
- Настройка клиентов Samba
- Заключение
Установка 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-адрес без ввода дополнительной информации. Для подключения к приватному каталогу введите логин и пароль пользователя в появившееся окно.
Свежие комментарии