Общую папку в Linux обычно открывают через Samba — службу, совместимую с SMB/CIFS. Ниже приведён безопасный вариант с доступом только для выбранных пользователей, проверкой конфигурации и подключением с компьютера Windows.
Настройка общей папки в Linux: короткий ответ
Настройка общей папки в Linux выполняется через Samba: создают отдельный каталог, дают права нужной группе, добавляют описание ресурса в /etc/samba/smb.conf и проверяют его командой testparm. После запуска службы папка открывается с Windows по адресу \\IP-адрес\Имя_ресурса.
Samba — это набор программ, который предоставляет Linux-компьютеру общий ресурс по протоколу SMB/CIFS. Этот же протокол используют Проводник Windows и многие файловые менеджеры. Для домашней сети безопаснее не включать гостевой доступ: каждый человек подключается под своей учётной записью и получает только разрешённые ему права доступа.
Инструкция ниже рассчитана на актуальные Debian, Ubuntu и производные от них системы, где пакеты устанавливаются через apt. Для Fedora, openSUSE, ALT Linux и других дистрибутивов название пакета, команда установки и служба могут отличаться, однако логика создания каталога и раздела Samba остаётся той же. Работайте в локальной сети, которой доверяете; не пробрасывайте SMB-порты в интернет через роутер.
Почему возникает проблема или зачем нужна эта настройка
Общая папка нужна, когда файлы должны быть доступны нескольким устройствам в одной сети без флеш-накопителя или отправки копий через мессенджер. Она удобна для обмена документами между Linux и Windows, резервного хранения файлов на домашнем компьютере или доступа с нескольких рабочих мест.
Главная трудность состоит в том, что действуют два уровня разрешений. Сначала Samba проверяет, может ли пользователь войти в опубликованный ресурс. Затем Linux проверяет владельца, группу и права самого каталога. Поэтому ресурс иногда виден в сети, но при открытии появляется отказ в доступе: описание в smb.conf уже есть, а права файловой системы для учётной записи не подходят.
Не делайте домашнюю папку пользователя общим каталогом без необходимости. В ней могут находиться личные документы, ключи доступа и настройки программ. Отдельный путь каталога, например /srv/samba/obmen, легче контролировать, копировать и при необходимости удалить из конфигурации без риска затронуть системные или личные данные.
Для удалённого управления компьютером используют другой протокол и отдельную службу. Если требуется входить на машину с терминала, а не передавать файлы через SMB, пригодится alt linux ssh настройка: у SSH и Samba разные учётные данные, порты и правила безопасности. После настройки общего ресурса проверьте, что пароль пользователя Samba не совпадает с паролем, который уже был раскрыт посторонним.
Что проверить и подготовить перед основными действиями
До установки убедитесь, что Linux-компьютер и клиент находятся в одной домашней или рабочей сети, а у сервера известен локальный IP-адрес. Его можно посмотреть командой ip addr; ищите адрес интерфейса, через который подключена сеть, например 192.168.x.x или 10.x.x.x. Не публикуйте этот адрес в открытом доступе.
Нужны права администратора через sudo, свободное место для файлов и учётная запись Linux для каждого человека, которому разрешена запись. Список подготовительных проверок:
| Что проверить | Какой результат нужен |
|---|---|
| Сеть | Устройства видят друг друга; клиент может обратиться к локальному IP сервера |
| Каталог | Для обмена выбран отдельный путь, не содержащий личные данные |
| Пользователи | У каждого пользователя есть локальная учётная запись Linux |
| Брандмауэр | Он известен и разрешит Samba только в локальной сети |
| Резервная копия | Сохранена копия исходного файла конфигурации |
Перед редактированием создайте копию: sudo cp -a /etc/samba/smb.conf /etc/samba/smb.conf.bak. Не заменяйте исходный файл коротким примером из интернета: в нём могут быть параметры рабочей сети, принтеров или домена. Достаточно дописать свой раздел в конец и затем проверить синтаксис.
Для групповой папки создайте отдельную группу. Она позволяет выдавать доступ нескольким пользователям без перечисления прав на каждый файл вручную. Команда sudo groupadd --force fileshare создаст группу fileshare, если её ещё нет. Добавить текущего пользователя в неё можно командой sudo usermod -aG fileshare "$USER"; затем выйдите из графической сессии и войдите снова, иначе новое членство в группе может не примениться.

Пошаговое решение для актуальных версий системы или устройства
На Debian и Ubuntu сначала установите Samba, создайте каталог и добавьте пользователей. Команды меняют настройки системы, поэтому внимательно сверяйте путь каталога и имя пользователя перед нажатием Enter.
- Установите пакет:
sudo apt updateзатемsudo apt install samba. - Создайте папку с доступом для группы:
sudo install -d -o root -g fileshare -m 2770 /srv/samba/obmen. - Добавьте конкретного пользователя в базу Samba:
sudo smbpasswd -a имя_пользователя. Учётная записьимя_пользователядолжна уже существовать в Linux. - Откройте
sudo nano /etc/samba/smb.confи добавьте в конец файла блок ниже, заменив при необходимости имя ресурса и путь.
```ini
[Obmen]
path = /srv/samba/obmen
browseable = yes
read only = no
valid users = @fileshare
force group = fileshare
create mask = 0660
directory mask = 2770
```
Параметр valid users ограничивает вход членами группы, read only = no разрешает запись, а маски задают права для новых файлов и папок. Число 2770 у каталога включает наследование группы: новые объекты сохранят группу fileshare. Не добавляйте guest ok = yes, если папка не должна быть открыта всем в локальной сети.
Проверьте изменения командой sudo testparm. Если она сообщает об ошибке, исправьте указанную строку и повторите проверку. При успешной проверке примените конфигурацию: sudo systemctl restart smbd. Если включён UFW, разрешите профиль Samba командой sudo ufw allow Samba; правило следует добавлять только для доверенной локальной сети.
На компьютере с Windows откройте Проводник и введите в адресную строку \\локальный_IP\Obmen, например \\192.168.1.25\Obmen. Введите имя пользователя Samba и пароль, заданный через smbpasswd. Сетевое обнаружение влияет на автоматическое появление компьютера в разделе «Сеть», но для прямого подключения по IP оно не требуется.
Когда в сети есть несколько серверов или отдельная серверная система, сначала полезно проверить доступ к серверу по сети с Windows-клиента: убедитесь, что открывается именно локальный IP и имя ресурса. После этого можно отличить проблему маршрута или брандмауэра от ошибки в правах папки. Для надёжной работы лучше закрепить за Linux-компьютером постоянный локальный адрес в настройках роутера.

Типичные ошибки, безопасный откат и проверка результата
Если папка не открывается, проверяйте цепочку от конфигурации к сети: testparm, работу службы, права каталога, затем подключение клиента. Не меняйте одновременно пароль, правила брандмауэра и содержимое smb.conf — так трудно понять, какое действие вызвало результат.
Ошибка «нет доступа» чаще всего означает, что пользователь не добавлен в Samba, не входит в fileshare или у каталога другой владелец либо группа. Посмотрите параметры командой ls -ld /srv/samba/obmen и список групп пользователя командой id имя_пользователя. После добавления пользователя в группу требуется новый вход в Linux-сессию; после smbpasswd -a используйте при подключении именно это имя и пароль.
Если Windows не находит компьютер, вводите адрес вручную в формате \\IP\Obmen. На сервере проверьте службу: systemctl status smbd. Локальная проверка списка ресурсов выполняется так: smbclient -L localhost -U имя_пользователя; она запрашивает пароль Samba. Команда sudo ss -ltnp | grep ':445' помогает убедиться, что служба слушает SMB-порт, однако отсутствие строки может означать остановленную службу или иной способ её запуска в конкретном дистрибутиве.
Безопасный откат возможен, если ранее создана резервная копия. Сначала остановите правку, сохраните текущий файл под новым именем и сравните его с копией. Если необходимо вернуть прежнюю конфигурацию, восстановите только собственную копию smb.conf.bak, выполните sudo testparm, а затем sudo systemctl restart smbd; уже созданные файлы в /srv/samba/obmen при этом не удаляются.
Проверка результата состоит из трёх действий: открыть ресурс под разрешённой учётной записью, создать тестовый файл и убедиться, что он виден в Linux; затем попробовать подключение под пользователем без доступа. Второй пользователь должен получить отказ. Удалите тестовый файл после проверки, если он содержал личные сведения.
FAQ
Почему общая папка видна, но не позволяет создать файл?
Обычно Samba разрешила вход, но Linux запретил запись в сам каталог. Проверьте группу и режим доступа командой ls -ld /srv/samba/obmen, а также членство пользователя в fileshare. Для созданной по инструкции папки ожидаются группа fileshare и права drwxrws---.
Можно ли открыть папку без пароля?
Технически Samba поддерживает гостевой доступ, но для обычной домашней папки это риск: любой пользователь доверенной сети сможет читать или записывать данные. Безопаснее создать отдельные учётные записи Samba и выдавать доступ через valid users. Если гостевой режим действительно необходим, выделите для него пустой каталог без личных файлов.
Почему после изменения smb.conf ресурс не появился?
Сначала выполните sudo testparm: команда проверяет синтаксис конфигурации, но не гарантирует доступность ресурса по сети. При успешном результате перезапустите smbd и подключитесь по \\IP\Имя_ресурса, минуя поиск в разделе «Сеть». Проверьте также, не блокирует ли локальный брандмауэр Samba.
Когда лучше обратиться к специалисту?
Обратитесь за помощью, если компьютер входит в корпоративный домен, общий ресурс содержит рабочие персональные данные или нужно открыть доступ между разными сетями через интернет. В таких случаях ошибка прав или брандмауэра может затронуть безопасность всей сети. Перед любыми изменениями сохраните копию smb.conf и не передавайте пароли в сообщениях.
