Как создать общую папку в Linux | DATAENGINER

Как создать общую папку в Linux

Добрый день, сегодня мы рассмотрим как при помощи пакета samba создать общую папку в Linux, которая будет доступна по сети для любого пользователя. А так же чтобы общая папка была доступна на ОС Windows.

Итак, приступим к установке.

Шаг 1. Для начала нам необходимо установить samba, для этого воспользуемся командой: yum install -y samba

Вместе с 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

Создадим каталог который будет использоваться для публичного доступа пользователями

mkdir -p /samba/public

Изменим права для доступа к каталогу на 0755, для этого выполним

chmod -R 0755 public/

Создадим директория доступ к которой будут иметь только определенные пользователи.

mkdir -p /samba/private

Далее нам необходимо создать группу для пользователей, которые будут иметь доступ к папке с приватными данными

groupadd sambagroup

Далее создадим пользователя sambauser

useradd sambauser

Присвоим пользователю ранее созданную группу

usermod -aG sambagroup sambauser

Просмотрим список групп у пользователя sambauser, для этого выполним

id -Gn sambauser

Изменим группу для приватного каталога, для того чтобы пользователи не имеющие данную группу не могли получить доступ к данному каталогу

chgrp sambagroup /samba/private

Для авторизации в системе, по сети нашего пользователя, нам необходимо задать пароль для пользователя.

smbpasswd -a sambauser

Откроем снова наш конфигурационный файл и приведем его к виду.

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

Далее проверим что, имя нашего сервера указано в хост файле. В качестве поддомена укажем localhost. Выполним команду vim /etc/hosts и укажем следующую строку.

Сохраним файл host. После чего перезапустим сервер samba. Выполним systemctl restart smb.

Теперь для того, чтобы мы могли подключиться к одной из наших директорий выключим firewalld.

systemctl stop firewalld

После чего уберем firewalld из автозагрузки выполнив команду

systemctl disable firewalld

Проверим выключен ли firewalld выполнив

systemctl stop firewalld

На этом установка Samba завершена! Далее мы рассмотрим как вы можете подключиться к общий папке в ОС Windows.

Постоянный редактор и автор сайта

Leave a reply:

Your email address will not be published.