UNIXAWESOME

Настройка Samba в CentOS 8

#centos #samba

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

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

Установка samba в CentOS 8

Установим нужные пакеты.

1dnf install samba samba-commom samba-client

Настройка samba в CentOS 8

Основной файл конфигурации это /etc/samba/smb.conf

Настройка сетевого ресурса с приватным доступом

Первым делом необходимо создать группу для пользователей которые будуть иметь доступ к сетевым ресурсам. У меня это будет группа shares. Выполним команду:

1groupadd shares

Создадим пользователя user1 и сразу добавим его в группу shares

1useradd user1 -G shares

Или можем создать пользователя таким образом отключив возможность логинится в системе. Только будет доступ к самба шаре. Чуть безопаснее.

1useradd -s /sbin/nologin -G shares user1

Дальше необходимо создать папку к которой необходимо дать доступ.

1mkdir -p /srv/samba/files

Рекурсивно меняем права на папку

1chmod -R 0770 /srv/samba/files

Меняем владельца и группу для папки

1chown -R root:shares /srv/samba/files

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

1smbpasswd -a user1

Редактируем файл конфигурации и добавляем следующие строки

1vim /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
netbios name = centos
interfaces = enp1s0 192.168.89.0/24
hosts allow = 127. 192.168.89.
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
map to guest = bad user
min protocol = SMB2

[files]
comment = Share with authenticated access
path = /srv/samba/files
browsable = yes
writable = yes
guest ok = no
valid users = root @shares
create mask = 0775
directory mask = 0775
force group = shares

Разберём основные параметры:

Глобальные параметры
Параметры для пользовательских шар.

Проверим нашу конфигурация командой:

1testparm

Если нет ошибок идём дальше.

Настройка firewall для samba

Для firewalld

1firewall-cmd --permanent --add-service=samba
2firewall-cmd --reload

Для iptables:

1iptables -A INPUT -p udp --dport 137 -j ACCEPT
2iptables -A INPUT -p udp --dport 138 -j ACCEPT
3iptables -A INPUT -p tcp --dport 139 -j ACCEPT
4iptables -A INPUT -p tcp --dport 445 -j ACCEPT

Если firewall отсутствует, то порты открывать не нужно.

Стартуем сервисы
1systemctl start smb.service
2systemctl start nmb.service

Добавляем в автозагрузку

1systemctl enable smb.service
2systemctl enable nmb.service

Готово. Можно пробовать подключатся.

В ОС Windows открываем Проводник и в строке путь через два слэша пишем ip адрес нашего SMB сервера. Должен отобразится список наших сетевых папок.

Для входа в папку вводим логин/пароль

Настройка сетевого ресурса с анонимным доступом

Порядок настройки немного короче:

При входе в такую сетевую папку пароль запрашиватся не будет.

Reply to this post by email ↪