Начните с установки пакетов samba и smbclient.
В Debian, Linux Mint, Ubuntu, Kali Linux и их производных для установки samba выполните команду:
sudo apt install samba smbclient
В Arch Linux, BlackArch и их производных выполните команду:
sudo pacman -S samba smbclient
Следующая команда не сработает, если отсутствует файл /etc/samba/smb.conf. Если у вас тоже нет этого файла, то создаёте его заглушку — к настройке самого файла smb.conf мы вернёмся позже:
sudo touch /etc/samba/smb.conf
Теперь нужно добавить пароль для пользователя Samba. Действует следующее правило: имя пользователя должно быть таким же, как у вашего текущего пользователя, а пароль можно установить иной, отличный от вашего системного пароля.
Для установки пароля Samba, выполните следующую команду:
sudo smbpasswd -a $USER
Если вы хотите, чтобы у пользователя не было пароля, то укажите опцию -n.
Создайте папку, которая станет совместно используемой:
mkdir ~/linuxshare
Узнаем абсолютный путь до папки ~/linuxshare:
realpath ~/linuxshare
У меня это:
/home/mial/linuxshare
Откройте для редактирования файл /etc/samba/smb.conf:
sudo gedit /etc/samba/smb.conf
Добавьте туда строки вида:
[ИМЯ_ПАПКИ]
comment = Samba на Linux
path = /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/ИМЯ_ПАПКИ
valid users = ИМЯ_ПОЛЬЗОВАТЕЛЯ
read only = no
browsable = yes
Обратите внимание, что все пробелы в строках выше являются обязательными.
Для моих данных это строки:
[linuxshare]
comment = Samba на Linux
path = /home/mial/linuxshare
valid users = mial
read only = no
browsable = yes
Теперь запустим службу SMB:
sudo systemctl start smb.service
Для добавления службы в автозагрузку выполните:
sudo systemctl enable smb.service
Для подключения к этой общей сетевой папке на Linux нужно использовать IP адреса компьютера Linux.
Создадим файл, чтобы сетевая папка не была пустой:
echo "Документ на Linux" > ~/linuxshare/document.txt
Посмотрите локальный IP адрес компьютера, на котором запущена Linux:
ip a
У меня этим IP является 192.168.0.89, а папку, как мы помним, я создал с именем linuxshare, тогда в Windows я перехожу в проводнике во вкладку «Сеть» и подключаюсь к этой папке следующим образом:
\\192.168.0.89\linuxshare
Вводим учётные данные (которые мы установили командой smbpasswd):
Видим содержимое совместно используемой папки, размещённой на Linux с помощью SMB:
Для подключения к сетевой папке из консоли Linux, запустите команду вида:
sudo smbclient //IP_АДРЕС/Папка -U ПОЛЬЗОВАТЕЛЬ
Для моего примера это:
sudo smbclient //192.168.0.89/linuxshare -U mial
После ввода пароля нам становится доступным содержимое сетевой папки.
Смотрите также «SMB и Samba в Linux: подключение к общей папке Windows, создание сетевых папок в Linux».


