Bugsp.ru

Ваша компьютерная помощь
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

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

Недавно появилась необходимость организовать простой файловый сервер на базе 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

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

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

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

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

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

[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:

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

cd /home/public

chmod -R 0755 public/

chown -R nobody:nobody public/

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

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

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

Нашли ошибку в тексте? Выделите фрагмент текста и нажмите Ctrl+Enter

Установка и настройка Samba на CentOS 7

В статье приведен пример установки файлового сервера Samba в рабочей группе (не в домене) на CentOS 7. Доступ к ресурсам как публичный, так и по логину/паролю. Последнее обновление: 06.09.2017.

# yum install samba samba-client samba-common

Подготовка

# cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

Сначала укажем в конфиге то, что мы планируем сделать, а потом уже создадим нужных пользователей, зададим права доступа на директории и пр. Почти все в этом файле как и в примере ниже, выдумывать или менять мало что нужно:

WORKGROUP должно совпадать с названием рабочей группы компьютеров у вас дома;

netbios name = centos — имя вашего сервера в сети. У меня это имя прописано в dns на роутере mikrotik, вы же при желании можете прописать centos в файл hosts на рабочих станциях в вашей сети. Главное, чтобы ваш сервер был доступен по имени centos (в этом примере). Если вы еще не заблокировали icmp, выполните команду `ping centos` с рабочей станции. Если разрешение имени не работает, у вас будет вариант использовать такую запись <ip-вашего-сервера> вместо centos.

guest account = samba_guest — определяем имя пользователя (должен быть добавлен в систему), от имени которого будет осуществляться доступ к общим папкам. Этого пользователя мы создадим чуть позже.

map to guest = bad user — означает, что если был указан логин/пароль и такого логина не существует, то будет произведена попытка войти под учеткой гостя.

Читайте так же:
Как создать базу данных в Excel

ntlm auth = ntlmv2-only (то же, что и ntlm auth = no) — не разрешать NTLMv1, использовать NTLMv2. С версии Samba 4.5 это дефолт.

Если вы сомневаетесь в значении любого параметра из тех, которые я привел выше, лучше ознакомьтесь с их смыслом на этом этапе, т.к. если что-то пойдет не так, лучше вам заранее понимать, что вы сделали. Тем более, что не так и много сделали. И вообще, я могу опечататься, вы можете что-то не скопировать и др.

Да, и еще, я сразу удалил в этом файле дефолтные группы [homes], [printers], [netlogon], [Profiles] и [public]. Особенно я не хотел бы расшаривать домашние директории пользователей системы.

Несмотря на то, что файл настройки samba один, сами шары могут быть раскиданы по дискам и директориям, при просмотре сетевые пользователи не смогут понять, что шара upload указывает в /var/www/htdocs/upload, а шара docs — на /samba/common_docs. Т.е. ваша фантазия в этом плане вам на руку. Вы можете настроить все так, что файлы, которые вы загрузили по локальной сети, будут доступны посетителям вашего сайта. Ну или что угодно еще можете придумать. Главное, обращайте внимание на права доступа к файлам и директориям, которые вы создаете!

Проверяем, все ли правильно отредактировали:

Public share

Ранее в конфиге smb.conf мы указали имя пользователя ( guest account = samba_guest ), от имени которого будет производиться доступ к общедоступным шарам. Т.е. если мы в описании соответствующей группы укажем guest ok = yes , то независимо от ваших текущих привилегий доступ к файлам в соотв. шаре будет произведен от имени samba_guest . Давайте подготовим такого пользователя и директорию с соотв. правами.

опция -M указывает не создавать домашнюю директорию;
группа smbgrp будет объединять создаваемых в системе пользователей для Samba.

# systemctl enable smb.service && systemctl enable nmb.service
# systemctl restart smb.service && systemctl restart nmb.service

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

Пробуем с рабочей станции в сети открыть шару share и создать пробный файл. Создав, проверьте на сервере, с какими правами создан файл:

# ls -al /samba/share

Если все ок и вы можете войти в публичную шару и создать в ней файл, то можно попробовать создать запароленную директорию для отдельного пользователя. Если что-то не так, скорее всего проблема в правах на папки, iptables или с SELinux.

Шары с паролем

Общая идея такова: если нам надо создать пользователя user1 для шары Samba, нам надо сначала создать пользователя с таким логином в системе Linux, а потом создать такого же пользователя в Samba. По моему разумению, системный пользователь, создаваемый для Samba, не должен иметь возможность входа в систему, а также иметь домашнюю директорию. Собственно, зачем ему это?

# useradd -c 'Samba member' -G smbgrp -M -s /sbin/nologin user1

Вообще говоря, пока вы не создадите пароль для этого пользователя, зайти им в систему нельзя, но представьте себе, когда через год или три вы забудете, ставили вы пароль или нет, и при просмотре /etc/passwd конкретно так вздрогнете, если оставить шелл по-умолчанию 😉 Так что в любом случае проверьте файл /etc/passwd после выполнения команды. Хотя бы один разок.

А это уже внутренний пользователь Samba:

# smbpasswd -a user1

Создаем пользовательскую папку. Для директории user1 права можно ставить уже не 775, а 755:

# nano /etc/samba/smb.conf
.
[User1 Share]
comment = User1's files
path = /samba/user1
;valid users = @smbgrp
valid users = user1
guest ok = no
writable = yes
browsable = yes
create mask = 0640
directory mask = 0750

параметр create mask = 0640 указывает, что создаваемые в этой шаре файлы будут для владельца с правами на запись, для группы — на чтение, всем остальным — фиг;
параметр directory mask = 0750 указывает аналогично, только для директорий.

Читайте так же:
Как пользоваться Тор браузером на Андроиде

В принципе, в личной шаре никто не мешает вам использовать маски 0600 и 0700 соотв. Хотите, поиграйтесь 🙂 Но никогда без явно обозначенной цели не делайте маски 0777 ни для чего, даже если после этого все работает.

# systemctl restart smb.service && systemctl restart nmb.service

Проверяйте работу, все должно быть ок. В сетевом окружении должны быть две сетевые папки: share и user1.

Создайте еще пользователя, проверьте, как работают права доступа к пабликам и персональным директориям. Если что-то идет не так, проверяйте права доступа на директории и встроенные механизмы защиты, в данном случае SELinux.

Дополнительно

Ну и напоследок некоторые полезные команды.

Список пользователей Samba:

# pdbedit -L
user1:1001:Samba member

Расширенные данные по пользователям:

Смена пароля у существующего пользователя:

Удаление существующего пользователя:

# smbpasswd -x <User_name>

Приостановление учетной записи без удаления:

# smbpasswd -d <User_name>

Не хотите видеть в сетевой папке всякие временные файлы? В конфиге smb.conf добавьте к группе [User1 Share] что-то вроде:

hide files = /$RECYCLE.BIN/desktop.ini/lost+found/Thumbs.db/

Iptables для Samba

Лучший способ узнать, что нужно разрешить в iptables — это посмотреть, какие порты слушает Samba:

Соответственно, в iptables надо добавить следующие правила:

где 192.168.88.0/24 — ваша локальная сеть.

LOG-файл Samba

Можно тюнинговать логирование бесконечно долго, но если быстро и достаточно полезно, то приведу пример, как выводить в лог информацию о том, кто, откуда, что переименовал, что смотрел, что удалил. Открываем файл /etc/samba/smb.conf:

# systemctl restart smb.service && systemctl restart nmb.service

Попробуйте открыть файлы на шаре, удалить папку, создать файл. Потом посмотрите файл /var/log/messages:

Все ясно. Кто-то с ip 192.168.3.3 переименовал файл open_server_5_2_5_basic.exe, причем дважды. Потом создал папку, переименовал ее и удалил.

Играясь со списком " mkdir rmdir read pread write pwrite sendfile rename unlink lock " можно реагировать на разные события, а можно вообще так full_audit:success = all !open (все, кроме открытия).

Можно до бесконечности писать про всякие отдельные фишки. Но в целом зада выполнена.

Откорректировал в соответствии с Вашими рекомендациями файл smb.conf и у меня совсем пропал доступ к общим папкам сервера, хотя команда testparm сообщает, что всё ОК. Снова восстановил свой конфигурацонный файл и доступ восстановился. Привожу полностью состав файла:
[global]
workgroup = WORKGROUP
server string = File Server
netbios name = nikiv64
interfaces = lo enp2s0 192.168.8.3/24
hosts allow = 127. 192.168.8.
security = user
passdb backend = tdbsam
map to guest = bad user
min protocol = smb2

log file = /var/log/samba/log.%m
max log size = 50

encrypt passwords = yes
security = user
dns proxy = no
dos charset = 866
unix charset = UTF-8

[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes

[home]
comment = My Files
path = /home/user
force user = user
force group = user
guest ok = yes
writable = yes
create mask = 0775
directory mask = 0775
Всё работает, однако проблема №1, которая появилась сегодня утром, осталась. Я нашёл способ подключения к общим ресурсам сервера при помощи утилиты cifs, через конфигурационный файл fstab, однако подключение происходит примерно за 40 секунд, подозреваю, что оно осуществляется, не через Samba, а через SSH.

Как установить и настроить Samba на CentOS 7

Samba — это бесплатная и открытая повторная реализация сетевого протокола обмена файлами SMB / CIFS, которая позволяет конечным пользователям получать доступ к файлам, принтерам и другим общим ресурсам.

В этом руководстве мы покажем, как установить Samba на CentOS 7 и настроить его как автономный сервер для обеспечения обмена файлами между различными операционными системами по сети.

Читайте так же:
Как обновить Интернет Эксплорер

Мы создадим следующие общие ресурсы и пользователей Samba.

  • sadmin — административный пользователь с правами чтения и записи для всех общих ресурсов.
  • josh — Обычный пользователь со своим личным файловым хранилищем .
  • users — этот общий ресурс будет доступен всем пользователям с разрешениями на чтение и запись.
  • josh — этот общий ресурс будет доступен с разрешениями на чтение и запись только пользователям josh и sadmin.

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

Подготовка

Прежде чем начать, убедитесь, что вы вошли в систему CentOS 7 как пользователь с привилегиями sudo .

Установка Samba на CentOS

Samba доступна из стандартных репозиториев CentOS. Чтобы установить его в вашей системе CentOS, выполните следующую команду:

После завершения установки запустите службы Samba и включите их автоматический запуск при загрузке системы:

Служба smbd предоставляет службы обмена файлами и печати и прослушивает TCP-порты 139 и 445. Служба nmbd предоставляет клиентам службы именования NetBIOS через IP и прослушивает порт 137 UDP.

Настройка межсетевого экрана

Теперь, когда Samba установлена и запущена на вашем компьютере с CentOS, вам нужно настроить брандмауэр и открыть необходимые порты. Для этого выполните следующие команды:

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

Для упрощения сопровождения и гибкости вместо использования стандартных домашних каталогов ( /home/user ) все каталоги и данные Samba будут расположены в каталоге /samba .

Начнем с создания каталога /samba :

Создайте новую группу с именем sambashare . Позже мы добавим в эту группу всех пользователей Samba.

Установите владельцем группы каталогов /samba значение sambashare :

Samba использует систему разрешений пользователей и групп Linux, но имеет свой собственный механизм аутентификации, отличный от стандартной аутентификации Linux. Мы создадим пользователей, используя стандартный инструмент Linux useradd , а затем установим пароль пользователя с помощью утилиты smbpasswd .

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

Создание пользователей Samba

Чтобы создать нового пользователя с именем josh , используйте следующую команду:

Параметры useradd имеют следующие значения:

  • -M -не создавать домашний каталог пользователя. Мы создадим этот каталог вручную.
  • -d /samba/josh — установить домашний каталог пользователя в /samba/josh .
  • -s /usr/sbin/nologin — отключить доступ к оболочке для этого пользователя.
  • -G sambashare — добавить пользователя в группу sambashare .

Создайте домашний каталог пользователя и установите владельца каталога на пользователя josh и группу sambashare :

Следующая команда добавит бит setgid в каталог /samba/josh чтобы вновь созданные файлы в этом каталоге унаследовали группу родительского каталога. Таким образом, независимо от того, какой пользователь создает новый файл, у файла будет владелец группы sambashare . Например, если вы не установите права доступа к каталогу на 2770 и пользователь sadmin создаст новый файл, пользователь josh не сможет читать / писать в этот файл.

Добавьте josh запись пользователя josh в базу данных Samba, установив пароль пользователя:

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

После установки пароля включите учетную запись Samba, набрав:

Чтобы создать другого пользователя, повторите тот же процесс, что и при создании пользователя josh .

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

Создайте пользователя с правами администратора, набрав:

Приведенная выше команда также создаст группу sadmin и добавит пользователя в группы sadmin и sambashare .

Установите пароль и включите пользователя:

Читайте так же:
Как открыть флешку на МакБуке: подробная инструкция

Затем создайте общий каталог Users :

Установите владельца каталога на пользователя sadmin и группу sambashare :

Этот каталог будет доступен всем авторизованным пользователям. Следующая команда настраивает доступ для записи / чтения для членов группы sambashare в sambashare /samba/users :

Настройка общих ресурсов Samba

Откройте файл конфигурации Samba и добавьте разделы:

Параметры имеют следующие значения:

  • [users] и [josh] — имена [josh] ресурсов, которые вы будете использовать при входе в систему.
  • path — Путь к общему ресурсу.
  • browseable — должен ли общий ресурс отображаться в списке доступных общих ресурсов. Если установить значение « no другие пользователи не смогут видеть общий ресурс.
  • read only — могут ли пользователи, указанные в списке valid users , писать в этот общий ресурс.
  • force create mode — устанавливает разрешения для вновь созданных файлов в этом общем ресурсе.
  • force directory mode — устанавливает разрешения для вновь созданных каталогов в этом общем ресурсе.
  • valid users — список пользователей и групп, которым разрешен доступ к общему ресурсу. Группы имеют префикс @ .

Дополнительные сведения о доступных параметрах см. На странице документации файла конфигурации Samba .

После этого перезапустите службы Samba с помощью:

В следующих разделах мы покажем вам, как подключиться к общему ресурсу Samba из клиентов Linux, macOS и Windows.

Подключение к общему ресурсу Samba из Linux

Пользователи Linux могут получить доступ к общему ресурсу samba из командной строки, используя файловый менеджер или смонтировать общий ресурс Samba.

Использование клиента smbclient

smbclient — это инструмент, который позволяет вам получить доступ к Samba из командной строки. Пакет smbclient не установлен предварительно в большинстве дистрибутивов Linux, поэтому вам нужно будет установить его с помощью диспетчера пакетов распространения.

Чтобы установить smbclient в Ubuntu и Debian, запустите:

Чтобы установить smbclient в CentOS и Fedora, запустите:

Синтаксис для доступа к общему ресурсу Samba следующий:

Например, чтобы подключиться к josh ресурсу с именем josh на сервере Samba с IP-адресом 192.168.121.118 от имени пользователя josh вы должны запустить:

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

После ввода пароля вы войдете в интерфейс командной строки Samba.

Монтирование общего ресурса Samba

Чтобы смонтировать общий ресурс Samba в Linux, сначала необходимо установить пакет cifs-utils .

В Ubuntu и Debian запустите:

В CentOS и Fedora запустите:

Затем создайте точку монтирования:

Подключите общий ресурс с помощью следующей команды:

Например, чтобы смонтировать общий ресурс с именем josh на сервере Samba с IP-адресом 192.168.121.118 от имени пользователя josh в точку монтирования /mnt/smbmount вы должны запустить:

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

Использование графического интерфейса

Files, файловый менеджер по умолчанию в Gnome имеет встроенную возможность доступа к общим ресурсам Samba.

  1. Откройте файлы и нажмите «Другие места» на боковой панели.
  2. В поле «Подключиться к серверу» введите адрес smb://samba_hostname_or_server_ip/sharename Samba в следующем формате smb://samba_hostname_or_server_ip/sharename .
  3. Нажмите «Подключиться», и появится следующий экран: />
  4. Выберите «Зарегистрированный пользователь», введите имя пользователя и пароль Samba и нажмите «Подключиться».
  5. Будут показаны файлы на сервере Samba. />

Подключение к общему ресурсу Samba из macOS

В macOS вы можете получить доступ к общим ресурсам Samba либо из командной строки, либо с помощью стандартного файлового менеджера macOS Finder. Следующие шаги показывают, как получить доступ к общему ресурсу с помощью Finder.

  1. Откройте «Finder», выберите «Перейти» и нажмите «Подключиться к».
  2. В поле «Подключиться к» введите адрес smb://samba_hostname_or_server_ip/sharename Samba в следующем формате smb://samba_hostname_or_server_ip/sharename . />
  3. Нажмите «Подключиться», и появится следующий экран: />
  4. Выберите «Зарегистрированный пользователь», введите имя пользователя и пароль Samba и нажмите «Подключиться».
  5. Будут показаны файлы на сервере Samba. />

Подключение к общему ресурсу Samba из Windows

Пользователи Windows также могут подключиться к общему ресурсу Samba как из командной строки, так и из графического интерфейса. Следующие шаги показывают, как получить доступ к общему ресурсу с помощью проводника Windows.

  1. Откройте проводник и на левой панели щелкните правой кнопкой мыши «Этот компьютер».
  2. Выберите «Выбрать другое сетевое расположение» и нажмите «Далее».
  3. В поле «Интернет или сетевой адрес» введите адрес samba_hostname_or_server_ipsharename Samba в следующем формате samba_hostname_or_server_ipsharename . />
  4. Нажмите «Далее», и вам будет предложено ввести учетные данные для входа, как показано ниже: />
  5. В следующем окне вы можете ввести собственное имя для сетевого расположения. По умолчанию будет выбран сервер Samba. />
  6. Нажмите «Далее», чтобы перейти к последнему экрану мастера настройки подключения.
  7. Нажмите «Готово», и будут показаны файлы на сервере Samba. />
Читайте так же:
Как исправить ошибку лицензии slui.exe в Windows 10

Выводы

В этом руководстве вы узнали, как установить сервер Samba на CentOS 7 и создать различные типы общих и пользователей. Мы также показали вам, как подключиться к серверу Samba с устройств Linux, macOS и Windows.

Установка и конфигурация Samba на CentOS 7

Разберёмся, как сконфигурировать samba на CentOS 7 с анонимными и защищёнными samba-серверами. Samba является пакетом программ с открытым исходным кодом, который позволяет уверенно обращаться к файлам и принтерам на ОС, работающих по протоколу SMB/CIFS. Samba находится в свободном доступе, в отличие от других программ SMB/CIFS, и совместим, допускает возможность взаимодействия сетей, включающих сервера под управлением Linux/Unix, так и клиентов, работающими на Windows.

1 Предварительные замечания

В нашем случае установка сервера samba будет производиться на специально установленном сервере CentOS версии 7.0. Также нам понадобится ПК с установленным Windows для проверки доступности samba. В данном случае сервер под CentОS будет иметь имя хоста в виде linux.example.com и 192.168.0.100 в качестве IP-адреса.

Внимание: В Windows домен рабочей станции должен совпадать с доменом в CentOS.

Для проверки значения в Windows введите в командной строке следующее:

В нашем случае домен рабочей станции имеет значение HOME.

samba

Убедитесь, что рабочая группа будет иметь одинаковое имя как под Linux, так и под Windows.

Для того, чтобы сделать доступным компьютер под Windows, необходимо добавить IP-адрес вашего сервера в hosts.

В нашем случае введем следующее:

Затем просто сохраним данное изменение.

2 Анонимный доступ средствами samba

Сначала установим samba с возможностью анонимного доступа. Для установки samba выполните следующую команду:

Таким образом вы установите samba актуальной версии.

Для того, чтобы сконфигурировать samba потребуется отредактировать файл /etc/samba/smb.conf, перед редактированием следует сделать резервное копирование оригинального файла /etc/samba/smb.conf.bak

Открываем для редактирования файл:

Почти всё готово, перезапускаемся:

На данном этапе сетевой экран CentOS 7.0 заблокирует доступ службы samba, чтобы решить эту проблему, выполним следующее:

Настроить сетевой экран по всем правилам поможет специальная статья.

Win+R

Теперь вы можете обмениваться файлами Centos 7.0 с windows, для этого в командной строке Win+R необходимо выполнить \centos:

Далее в windows откройте папку и попытайтесь создать текстовый документ, но при попытке создания документа появится сообщение об ошибке прав доступа.

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

Для получения прав доступа для анонимного пользователя введите следующее:

Далее нам потребуется разрешение selinux для конфигурации samba:

Теперь анонимный пользователь может создавать и просматривать cодержимое.

Можно выполнить встречную проверку следующим образом:

3. Защищённый samba-сервер

Создадим группу smbgrp и пользователя dve для доступа к samba-серверу с необходимой аутентификацией:

Создадим папку secured в /samba и предоставим соответствующие права доступа:

Теперь нам снова понадобится разрешение Selinux:

Снова редактируем файл конфигурации /etc/samba/smb.conf:

Далее потребуется перезапуск

Теперь проверяем настройки хитрой командой testparm

Вы снова столкнётесь с проблемой прав доступа. Для получения прав доступа пользователя dve выполним:

голоса
Рейтинг статьи
Ссылка на основную публикацию