![](http://dataenginer.ru/wp-content/uploads/2019/09/Kak-ustanovit-i-nastroit-Samba-v-CentOS-7.jpg)
Добрый день, сегодня мы рассмотрим как при помощи пакета samba создать общую папку в Linux, которая будет доступна по сети для любого пользователя. А так же чтобы общая папка была доступна на ОС Windows.
Итак, приступим к установке.
Шаг 1. Для начала нам необходимо установить samba, для этого воспользуемся командой: yum install -y samba
![](https://dataenginer.ru/wp-content/uploads/2019/09/image-25-1024x343.png)
Вместе с samba будет установлено несколько дополнительных пакетов.
Шаг 2. Далее нам будет необходимо отредактировать файл конфигурации, для этого воспользуемся текстовым редактором vim:
vim /etc/samba/smb.conf
Первый раздел global содержит следующие параметры
[global] workgroup = SAMBA - имя рабочей группы security = user - метод проверки пользователей passdb backend = tdbsam - механизм авторизации printing = cups - указывает использовать систему печати CUPS printcap name = cups - указывает на путь к файлу с адресом принтеров load printers = yes - определяет все ли принтеры будут загружены для просмотра по умолчанию cups options = raw - используется для печати от клиента windows [homes] comment = Home Directories - текстовое поле, которое отображается рядом с общим ресурсом valid users = %S, %D%w%S - список пользователей, которым можно подключиться browseable = No - будет ли ресурс отображаться в сетевом окружении read only = No - разрешает создание и чтение файлов в корневой директории inherit acls = Yes - Если значение "Yes", то наследуется значение каталога при его создании от родительского. [printers] comment = All Printers - комментарий path = /var/tmp - printable = Yes - позволяет ставить документы в очередь печати create mask = 0600 - устанавливает права на создаваемые файлы browseable = No - будет ли ресурс отображаться в сетевом окружении как общедоступный [print$] comment = Printer Drivers - комментарий path = /var/lib/samba/drivers - путь к драйверам write list = @printadmin root - определяет список пользователей и группы которые имеют права печатать force group = @printadmin - группа присваивается пользователям которые подключаются к нашему сервису create mask = 0664 - права на файлы directory mask = 0775 - права на директории
Сделаем бекап нашего дефолтного файла, сделав его копию и добавив к имени .bak, выполним команду: cp smb.conf smb.conf.bak
![](http://dataenginer.ru/wp-content/uploads/2019/09/image-26.png)
Создадим каталог который будет использоваться для публичного доступа пользователями
mkdir -p /samba/public
![](https://dataenginer.ru/wp-content/uploads/2019/09/image-31.png)
Изменим права для доступа к каталогу на 0755, для этого выполним
chmod -R 0755 public/
![](https://dataenginer.ru/wp-content/uploads/2019/09/image-32.png)
Создадим директория доступ к которой будут иметь только определенные пользователи.
mkdir -p /samba/private
![](https://dataenginer.ru/wp-content/uploads/2019/09/image-33.png)
Далее нам необходимо создать группу для пользователей, которые будут иметь доступ к папке с приватными данными
groupadd sambagroup
Далее создадим пользователя sambauser
useradd sambauser
Присвоим пользователю ранее созданную группу
usermod -aG sambagroup sambauser
Просмотрим список групп у пользователя sambauser, для этого выполним
id -Gn sambauser
![](https://dataenginer.ru/wp-content/uploads/2019/09/image-34.png)
Изменим группу для приватного каталога, для того чтобы пользователи не имеющие данную группу не могли получить доступ к данному каталогу
chgrp sambagroup /samba/private
![](https://dataenginer.ru/wp-content/uploads/2019/09/image-35.png)
Для авторизации в системе, по сети нашего пользователя, нам необходимо задать пароль для пользователя.
smbpasswd -a sambauser
![](https://dataenginer.ru/wp-content/uploads/2019/09/image-36.png)
Откроем снова наш конфигурационный файл и приведем его к виду.
vim /etc/samba/smb.conf
[global] workgroup = WORKGROUP security = user map to guest = bad user wins support = no dns proxy = no [public] path = /samba/public guest ok = yes force user = nobody browsable = yes writable = yes [private] path = /samba/private valid users = @smbgrp guest ok = no browsable = yes writable = yes
Для проверки правильности конфигурационного файла выполним команду
testparm -s
![](https://dataenginer.ru/wp-content/uploads/2019/09/image-37.png)
Далее проверим что, имя нашего сервера указано в хост файле. В качестве поддомена укажем localhost. Выполним команду vim /etc/hosts и укажем следующую строку.
![](https://dataenginer.ru/wp-content/uploads/2019/09/image-38.png)
Сохраним файл host. После чего перезапустим сервер samba. Выполним systemctl restart smb.
![](https://dataenginer.ru/wp-content/uploads/2019/09/image-39.png)
Теперь для того, чтобы мы могли подключиться к одной из наших директорий выключим firewalld.
systemctl stop firewalld
После чего уберем firewalld из автозагрузки выполнив команду
systemctl disable firewalld
Проверим выключен ли firewalld выполнив
systemctl stop firewalld
![](https://dataenginer.ru/wp-content/uploads/2019/09/image-40.png)
На этом установка Samba завершена! Далее мы рассмотрим как вы можете подключиться к общий папке в ОС Windows.