Общая папка Samba: настройка в Ubuntu и подключение из Windows 11
Общая папка Samba настраивается за десять минут: ставите пакет samba, описываете каталог в /etc/samba/smb.conf, задаёте пароль командой smbpasswd -a и подключаетесь из Windows 11 по адресу \\IP\имя. Гостевой доступ без пароля в свежей Windows 11 не работает, поэтому сразу делайте вход по паролю.

Содержание
Установка Samba в Ubuntu, Debian, Fedora и Arch
Samba реализует протокол SMB, тот самый, через который Windows открывает сетевые папки. Поставив её на Linux-компьютер, вы получаете папку, которая в Проводнике Windows 11 выглядит как обычный сетевой диск. Пакеты и имена служб в разных дистрибутивах немного отличаются:
| Дистрибутив | Установка | Служба | Файрвол |
|---|---|---|---|
| Ubuntu 26.04, Debian 13 | sudo apt install samba | smbd | sudo ufw allow samba |
| Fedora 44 | sudo dnf install samba | smb | firewall-cmd --add-service=samba |
| Arch Linux | sudo pacman -S samba | smb | по настройкам nftables или ufw |
В Debian и Ubuntu служба запускается сразу после установки. В Fedora и Arch её нужно включить вручную, а в Arch к тому же нет готового /etc/samba/smb.conf: файл создаётся с нуля, пример лежит в репозитории Samba и приведён в статье Samba на ArchWiki.
# Fedora и Arch
sudo systemctl enable --now smb
# Fedora: открыть порты навсегда
sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload
Служба nmbd (в Fedora и Arch nmb) отвечает за старый NetBIOS. Windows 11 по нему компьютеры почти не ищет, так что включать её не обязательно.
Каталог для общего доступа и права Linux
Samba не обходит права файловой системы. Пользователь, пришедший по сети, работает как конкретный пользователь Linux, и если тот не может писать в каталог, запись не пройдёт, что бы ни стояло в smb.conf. Поэтому сначала готовим каталог.
Для одного человека проще всего расшарить папку в своём домашнем каталоге. Для семьи или нескольких компьютеров удобнее отдельный каталог и группа:
sudo groupadd smbshare
sudo usermod -aG smbshare ivan
sudo mkdir -p /srv/share
sudo chgrp smbshare /srv/share
# 2 в начале: новые файлы наследуют группу каталога
sudo chmod 2775 /srv/share
Бит SGID на каталоге (та самая двойка) заставляет новые файлы и папки получать группу smbshare, а не основную группу создателя. Без него через месяц половина файлов окажется недоступна для записи другим участникам. Как читать такие права и что значат цифры, описано в статье про права доступа chmod и chown.
SELinux в Fedora
В Fedora мало выставить права: SELinux не пустит smbd в каталог без нужной метки. Присвойте её постоянно:
sudo semanage fcontext -a -t samba_share_t "/srv/share(/.*)?"
sudo restorecon -Rv /srv/share
# если расшариваете домашние каталоги
sudo setsebool -P samba_enable_home_dirs onОписание общего ресурса в smb.conf
Основной файл настроек /etc/samba/smb.conf. Перед правкой сделайте копию: sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.orig. Секция [global] задаёт общие параметры, каждая следующая секция в квадратных скобках описывает одну общую папку. Имя в скобках и будет именем ресурса в сети.
[global]
workgroup = WORKGROUP
server string = Домашний сервер
server min protocol = SMB2
map to guest = never
[share]
comment = Общая папка
path = /srv/share
browseable = yes
read only = no
valid users = @smbshare
force group = smbshare
create mask = 0664
directory mask = 2775
valid users = @smbshareпускает только членов группы. Можно перечислить и отдельных пользователей через пробел.read only = noразрешает запись. Для папки только на чтение оставьтеyes, а писать разрешите избранным черезwrite list.create maskиdirectory maskзадают права для новых файлов и каталогов,force groupподстраховывает SGID.server min protocol = SMB2отключает древний SMB1, который Windows 11 всё равно не использует.
После каждой правки проверяйте синтаксис и перезапускайте службу:
testparm
sudo systemctl restart smbd # в Fedora и Arch: smb
testparm покажет опечатки в именах параметров и выведет итоговую конфигурацию без комментариев. Полный перечень параметров есть в man smb.conf.
Ещё два типовых ресурса
Медиатека для телевизора и всех домашних, куда пишет только один человек:
[media]
path = /srv/media
read only = yes
valid users = @smbshare
write list = ivan
Личные домашние каталоги. Специальная секция [homes] отдаёт каждому пользователю Samba его собственный /home/имя, и чужие каталоги он не увидит:
[homes]
browseable = no
read only = no
valid users = %S
В Ubuntu такая секция уже есть в стандартном файле, но закомментирована.
Пользователи и пароли Samba
У Samba своя база паролей, отдельная от системной. Пользователь должен существовать в Linux, но пароль для сети задаётся отдельно, и его можно сделать другим, чем пароль входа в систему.
# добавить пользователя в базу Samba и задать пароль
sudo smbpasswd -a ivan
# включить учётную запись, если она отключена
sudo smbpasswd -e ivan
# список пользователей Samba
sudo pdbedit -L
Если общей папкой пользуются люди без своего входа в этот компьютер, заведите им системного пользователя без оболочки и домашнего каталога. Войти в систему он не сможет, а к общей папке подключится:
sudo useradd -M -s /usr/sbin/nologin -G smbshare masha
sudo smbpasswd -a masha
Подробно об учётных записях, группах и sudo в статье пользователи и sudo в Linux.
Не делайте гостевую папку без пароля, даже для дома. Windows 11 начиная с версии 24H2 по умолчанию требует подпись SMB и отключает небезопасный гостевой вход в редакциях Pro и выше, так что гостевой ресурс просто не откроется. Отдельный пользователь Samba с паролем решает эту проблему без правки политик Windows.
Подключение к папке из Windows 11
Узнайте адрес Linux-компьютера командой ip -br a. Дальше в Windows 11 есть три пути.
- Проводник. В адресной строке введите
\\192.168.1.10\shareи нажмите Enter. Windows спросит логин и пароль Samba, отметьте Запомнить учётные данные. - Сетевой диск. В Проводнике откройте Этот компьютер, меню с тремя точками, Подключить сетевой диск. Выберите букву, укажите тот же путь и галочку Восстанавливать подключение при входе.
- Командная строка. Удобно для скриптов:
net use Z: \\192.168.1.10\share /user:ivan /persistent:yes # отключить и забыть net use Z: /delete
Подпись SMB, которую требует Windows 11, Samba поддерживает без дополнительной настройки. Если в своей сети вы хотите обязательную подпись и со стороны сервера, в [global] добавьте server signing = mandatory.
Чтобы компьютер появился в разделе Сеть
Windows 10 и 11 ищут соседей по протоколу WS-Discovery, который Samba сама не анонсирует. За это отвечает отдельная служба wsdd. В свежих Debian и Ubuntu она ставится пакетом wsdd-server, в более старых выпусках пакет называется wsdd, в Fedora и Arch это wsdd. Ей нужны порты UDP 3702 и TCP 5357. В Windows профиль сети должен быть Частным, иначе обнаружение выключено. Подключение по адресу работает и без wsdd.
Доступ к папке с другого Linux
В файловых менеджерах GNOME Files и Dolphin достаточно ввести в адресной строке smb://192.168.1.10/share. Для проверки из терминала есть smbclient:
# какие ресурсы отдаёт сервер
smbclient -L //192.168.1.10 -U ivan
# интерактивная сессия, как ftp
smbclient //192.168.1.10/share -U ivan
Если папка нужна постоянно и сразу после загрузки, смонтируйте её через cifs в fstab с файлом учётных данных. Готовая строка и объяснение опций есть в статье про монтирование дисков и fstab.
Частые ошибки и как их разбирать
Начинайте с журнала сервера, он почти всегда говорит, на каком этапе отказ: journalctl -u smbd -e (в Fedora и Arch -u smb). Подробные журналы по клиентам лежат в /var/log/samba/.
NT_STATUS_LOGON_FAILURE или повторный запрос пароля
Пользователя нет в базе Samba или пароль другой. Проверьте sudo pdbedit -L и при необходимости заново выполните smbpasswd -a. Windows при этом могла запомнить старый пароль: удалите запись в Диспетчере учётных данных (раздел Учётные данные Windows) или выполните net use * /delete и войдите заново.
NT_STATUS_ACCESS_DENIED при записи
Вход прошёл, но права Linux не дают писать. Проверьте ls -ld /srv/share, членство в группе командой id ivan и параметр read only. В Fedora посмотрите отказы SELinux: sudo ausearch -m avc -ts recent.
Ошибка 0x80070035, сетевой путь не найден
Windows не достучалась до сервера. Проверьте, что служба запущена (systemctl status smbd), что файрвол пропускает порт TCP 445, и попробуйте адрес вместо имени компьютера. Если по адресу работает, а по имени нет, дело в разрешении имён, а не в Samba.
Нужен доступ из другой сети
Не открывайте порт 445 в интернет. Для доступа к домашней папке снаружи поднимите VPN, например по инструкции WireGuard для домашней сети, и подключайтесь по внутреннему адресу.
Частые вопросы
Почему Windows 11 не открывает гостевую папку Samba?
С версии 24H2 Windows 11 Pro и старшие редакции по умолчанию требуют подпись SMB и запрещают небезопасный гостевой вход. Создайте пользователя Samba с паролем и подключайтесь под ним.
Пароль Samba и пароль входа в Linux одно и то же?
Нет. Пользователь должен существовать в системе, но пароль для Samba задаётся отдельно командой smbpasswd -a и может отличаться от системного.
Почему компьютер с Linux не виден в разделе Сеть?
Windows ищет соседей через WS-Discovery. Установите службу wsdd (пакет wsdd-server или wsdd в зависимости от дистрибутива) и сделайте профиль сети в Windows частным. Подключение по IP работает и без этого.
Как дать доступ только на чтение?
В секции ресурса поставьте read only = yes. Если нескольким людям нужна запись, перечислите их в параметре write list.
Нужно ли включать SMB1 ради старого устройства?
Только если без этого никак, и лучше на отдельном ресурсе. SMB1 устарел и небезопасен, Windows 11 его не использует, поэтому для обычных компьютеров оставьте server min protocol = SMB2.
Документация и источники
- Samba, ArchWiki, 2026
- Install and Configure Samba, Ubuntu Tutorials, 2026
- smb.conf(5), Samba Team, 2026
- wsdd: Web Service Discovery host daemon, christgau/wsdd, 2026
Читайте также
- Монтирование дисков в Linux: от mount до автомонтирования в fstab
- Права доступа в Linux: chmod, chown и разбор Permission denied
- Пользователи и sudo в Linux: добавить пользователя, группы и права
- Настройка UFW: включаем firewall в Ubuntu и открываем нужные порты
- Домашний сервер на Linux: хранение, резервные копии и сервисы
- WireGuard в Linux: свой VPN до домашней сети за полчаса
Команды проверены на актуальных версиях дистрибутивов на момент обновления. Перед изменением системных настроек сделайте резервную копию.