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

Как настроить Samba
На чтение
11 мин.
Просмотров
248
Дата обновления
05.11.2024

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
Оставьте комментарий