Файловый сервер на базе CentOS 7 — настройка SAMBA

Файловый сервер на базе CentOS 7 — настройка SAMBA

Файловый сервер на базе CentOS

Недавно появилась необходимость организовать простой файловый сервер на базе Linux. Если быть точнее, то выбрана операционная система — CentOS 7 (имя хоста CentOS-FS), а «задание» — создать каталог с доступом «для всех».

Для начала выполним поиск пакетов (на чистой системе их не будет):

sudo yum list installed | grep samba

samba.x86_64            3.6.9-168.el6_5 @updates

samba-client.x86_64     3.6.9-168.el6_5 @updates

samba-common.x86_64     3.6.9-168.el6_5 @updates

samba-winbind.x86_64    3.6.9-168.el6_5 @updates

samba-winbind-clients.x86_64

Установка и настройка SAMBA:

sudo yum -y install samba samba-client samba-common

Добавляем службы в автозагрузку:

sudo chkconfig smb on

sudo chkconfig nmb on

Теперь создаем папку, которую вскоре расшарим:

sudo mkdir -p /home/public

К настройке доступа (владельца и параметров безопасности еще вернемся ниже). Имея путь к каталогу, переходим к следующему шагу — сохраняем стандартный файл конфигурации SAMBA, затем задаем нужные параметры:

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

После этого редактируем основный конфигурационный файл:

sudo vi /etc/samba/smb.conf

И заносим сюда необходимые параметры. Напоминаю — мы настраиваем доступ к папке для всех пользователей:

[global]

workgroup = WORKGROUP

server string = Samba Server %v

netbios name = srvr1

security = user

map to guest = bad user

dns proxy = no

guest account = nobody

browseable = yes

Сразу указываем где будет расположение лог файлов и их размер:

log file = /var/log/samba/log.%m

max log size = 50

Теперь создаем описание (параметры) нашего сетевого ресурса:

[public]

comment = FS

path = /home/public

readonly = no

guest ok = yes

public = yes

guest only = yes

writable = yes

Стоит обратить внимание — название рабочей группы можно узнать на ПК с ОС Windows при помощи команды net config workstation, а само название в файле smb.conf нужно писать заглавными буквами. Теперь перезапускам службы (в автозагрузку их уже добавили ранее, для примера привожу другой синтаксис команды):

systemctl enable smb.service

systemctl enable nmb.service

systemctl restart smb.service

systemctl restart nmb.service

Настройка IP Tables:

firewall-cmd —permanent —zone=public —add-service=samba

firewall-cmd —reload

Переходим в папку и задаем необходимые права:

cd /home/public

chmod -R 0755 public/

chown -R nobody:nobody public/

Добавляем исключение в selinux:

chcon -t samba_share_t public/

Настройка SAMBA для простого файлового сервера на базе CentOS 7 завершена. В следующей статье рассмотрим вариант настройки защищенной папки (доступ для определенного пользователя/группы) и т.п. Следите за обновлениями 😉

Какую конфигурацию, а именно какие оптимизации SAMBA используете Вы?