Вступление
Samba — программа с открытым исходным кодом, которая предназначена для обмена файлами и печати между компьютерами в сети, работающими под различными операционными системами, такими как Windows, Linux и Mac OS. Она работает на протоколе SMB, который используется для обмена файлами и печати в сетях Windows и позволяет создавать шары на компьютере, к которым можно подключаться из других компьютеров в сети и обмениваться файлами.
Основными функциями Samba являются шифрование данных, аутентификация пользователей и доступ к удаленным ресурсам. Samba была создана в 1991 году и быстро стала популярной в качестве альтернативы проприетарным решениям для обмена файлами и печати в сетях Windows. Сейчас Samba является одним из наиболее популярных решений. Кроме того, Samba может использоваться в качестве доменного контроллера, который управляет учетными записями пользователей и группами в сети. Она также может быть использована для создания веб-сервера, который позволяет пользователям обмениваться файлами через Интернет.
Установка Samba
Сначала установим пакеты Samba на сервер. Для этого нужно открыть терминал и ввести:
sudo yum install samba samba-client samba-common

Создание каталогов для обмена файлами
Следующим шагом является создание каталогов, которые впоследствии будут использоваться для обмена файлами. Можно создать несколько каталогов для разных пользователей или групп. Для создания каталога share1 используется команда ниже:
sudo mkdir /home/username/share1

Настройка конфигурации
После установки необходимых пакетов отредактируем конфигурационный файл, расположенный в каталоге /etc/samba/smb.conf. Для редактирования можно воспользоваться любым текстовым редактором. Выполняем:
sudo nano /etc/samba/smb.conf
Файл содержит множество строк. Для корректной работы службы потребуется изменить некоторые из них.

Настройка доступа
После создания каталогов следующим шагом является настройка доступа к ним. Добавляем следующие строки в конфигурационный файл:
[share1]
path = /home/username/share1
valid users = username
read only = no
Этой конфигурацией описываем путь к папке share1,перечисляем пользователей с доступом и тип доступа, в данном случае указываем, что ресурс будет доступен не только для чтения.

Создание пользователей
Далее производится создание пользователей Samba, которые будут иметь доступ к предоставляемым ресурсам. Для этого выполняем:
Заводим пользователя в ОС
adduser username
И задаём пароль
sudo smbpasswd -a username

Перезапуск Samba
Финальный этап — рестарт службы Samba для применения настроек.
Выполняется так:
sudo systemctl restart smb
Теперь можно пробовать подключаться к общим папкам с другого компьютера в сети, используя имя пользователя и пароль, созданные ранее.

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