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

Как настроить Samba
На чтение
13 мин.
Просмотров
712
Дата обновления
13.02.2025
Старт:28.10.2024
Срок обучения:18 месяцев
Графический дизайнер Plus
• Научитесь создавать логотипы, фирменный стиль и рекламные материалы• Изучите Photoshop, Illustrator, Figma и подготовите портфолио из 16 работ• Пройдете практику под руководством ведущих дизайнеров Ozon и «Самолета», решите брифы для Самоката и «Магнита»• Сможете зарабатывать от 80 000 ₽ и быстро вырасти до уровня Middle
211 750 ₽385 000 ₽
Подробнее

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

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

Чтобы пользователи системы Windows могли видеть Линукс в своем сетевом окружении, был разработан пакет "samba"(smb), который состоит из двух программ:

  1. сервер - позволяет публиковать папки для всеобщего просмотра;
  2. клиента - позволяет подключаться к другим компьютерам и работать с открытыми ресурсами.

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

Самба представляет собой некую утилиту, при помощи которой обращаются к сетевым дискам. Для этого используется специальный протокол (имя ему – SMB/CIFS).

Файловый сервер состоит из двух разделов:

  • Публичный;
  • Приватный.

Установка

В разных дистрибутивах Linux установка Самбы отличается, однако ее настройка совершено одинаковая. Поэтому рассмотрим установку на Debian / Ubuntu и Centos.

Для Debian / Ubuntu

apt-get update

Следующий шаг заключается в установке пакета. Он будет установлен из основного хранилища:

apt-get install -y samba samba-client

Для Сentos 7 и ниже:

yum install -y samba samba-client

Centos 8:

dnf install -y samba samba-client

Настройка

Основным конфигурационным файлом для Самба является smb.conf, которые лежит в каталоге /etc/samba.

Конфиг разбит на секции. Самой первой идет секция "global", в которой описываются глобальные настройки Samba-сервера. В ней можно увидеть следующие директивы:

  • workgroup = имя - имя группы, в которую входит сервер Линукс;
  • netbios name = имя - имя, которое пользователи будут видеть в сетевом окружении;
  • server string = описание - свободный текст, который можно увидеть в поле "description";
  • hosts allow = IP-адреса - адреса перечисленные (через пробел) или сетей, которым разрешен доступ к Samba-серверу.
  • printcap name = файл - файл, описание принтеров.

Сделаем копию конфигурационных настроек smb.conf.

cp /etc/samba/smb.conf /etc/samba/smb.conf.original

Для примера создадим папку "obmen" в директории /home/samba/obmen, для которой сделаем общий доступ.

mkdir -p /home/samba/obmen

chmod 0777 /home/samba/obmen

chown -R nobody:nogroup /home/samba/obmen

Рассмотрим три варианта доступа к файловой шаре через протокол SMB:

  1. по айпи адресу;
  2. по имени пользователя и пароля;
  3. всем;

Доступ по IP-адресу

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

nano /etc/samba/smb.conf

Делаем такие же настройки:



[global]

security = user

workgroup = GROUP

server string = Samba

map to guest = bad user

[obmen]

path = /home/samba/obmen

browsable = yes

writable = yes

guest ok = yes

read only = no

hosts allow = 10.10.10.1



Как видно из конфига выше, полный доступ имеет IP-адрес 10.10.10.1. Если необходимо задать пул адресов, например всю подсеть, то пишем так:

10.10.10.

Перезапускаем samba и проверяем работу.

systemctl restart smb

Или

service smbd restart

ВАЖНО! Как правило, SElinux (Security Enhanced Linux) запрещает работу smb, поэтому отключим Security Enhanced Linux.

nano /etc/selinux/config

меняем SELINUX на disabled

В итоге должно получиться:

SELINUX=disabled

Затем перезагружаем операционную систему Linux.

Доступ по логину и паролю

Для примера, создадим пользователя sambauser, который будет иметь доступ в общую папку по паролю.

adduser sambauser

Добавим пользователя в группу samba.

usermod -aG samba usersamba

Зададим пароль для пользователя.

smbpasswd -a sambauser

После вводы команды с параметром "-a", будет предложено ввести пароль.

nano /etc/samba/smb.conf

Меняем конфигурационный файл



[global]

security = user

passdb backend = tdbsam

workgroup = GROUP

server string = Samba

[share]

path = /home/samba/obmen

valid users = @samba

force group = samba

create mask = 0660

directory mask = 0771

writable = yes

browseable = yes

Перезагружаем сервис.

service smbd restart

Отключаем Selinux.

nano /etc/selinux/config

меняем SELINUX на disabled

Затем перезагружаем операционную систему Linux.

Доступ всем

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



[global]

security = user

workgroup = GROUP

server string = Samba

guest account = nobody

map to guest = Bad User

[obmen]

path = /etc/home/obmen

browseable = Yes

guest ok = Yes

writeable = Yes

public = yes

Отключаем Selinux.

nano /etc/selinux/config

меняем SELINUX на disabled

Перезагружаем операционную систему

reboot

0 Комментариев
Комментариев на модерации: 0
Оставьте комментарий

Курсы